@charset "UTF-8";
/*-------------------------------------------------------------------*/
/* === Import Bootstrap functions and variables === */
/*-------------------------------------------------------------------*/
/* === Import template variables === */
/*-------------------------------------------------------------------*/
/* === SCSS Compass Functions === */
/*-------------------------------------------------------------------*/
/* === Boostrap Main SCSS === */
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #292b2c;
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --white-smoke: #f3f5f6;
  --gray: #6c757d;
  --gray-light: #8ba2b5;
  --gray-lightest: #f7f7f9;
  --primary: #439aff;
  --secondary: #fdbab1;
  --success: #7ed321;
  --info: #4729b7;
  --warning: #f5a623;
  --danger: #ff5e5e;
  --light: #f3f5f6;
  --dark: #090e40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

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

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: #0056b3;
  text-decoration: underline;
}

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

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

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

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

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,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

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;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1, .h1 {
  font-size: 2.5rem;
}

h2, .h2 {
  font-size: 2rem;
}

h3, .h3 {
  font-size: 1.75rem;
}

h4, .h4 {
  font-size: 1.5rem;
}

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

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

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

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
  font-size: 0.875em;
  font-weight: 400;
}

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

.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: 90%;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote-footer {
  display: block;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

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

.figure-caption {
  font-size: 90%;
  color: #6c757d;
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 6px;
  padding-left: 6px;
  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;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -6px;
  margin-left: -6px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .lightGallery .image-tile, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  padding-right: 6px;
  padding-left: 6px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

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

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

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

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

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

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

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

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

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

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

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

.col-6, .lightGallery .image-tile {
  flex: 0 0 50%;
  max-width: 50%;
}

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.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%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .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%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3, .lightGallery .image-tile {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4, .lightGallery .image-tile {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .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%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3, .lightGallery .image-tile {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .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%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-xl-3, .lightGallery .image-tile {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .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%;
  }
}
.table, .jsgrid .jsgrid-table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}
.table th, .jsgrid .jsgrid-table th,
.table td,
.jsgrid .jsgrid-table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #f2f2f2;
}
.table thead th, .jsgrid .jsgrid-table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #f2f2f2;
}
.table tbody + tbody, .jsgrid .jsgrid-table tbody + tbody {
  border-top: 2px solid #f2f2f2;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #f2f2f2;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #f2f2f2;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f0f2f7;
}

.table-hover tbody tr:hover {
  color: #212529;
  background-color: #f0f2f7;
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #cae3ff;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #9dcaff;
}

.table-hover .table-primary:hover {
  background-color: #b1d6ff;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #b1d6ff;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #feece9;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #fedbd6;
}

.table-hover .table-secondary:hover {
  background-color: #fdd7d1;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #fdd7d1;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #dbf3c1;
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #bce88c;
}

.table-hover .table-success:hover {
  background-color: #cfefac;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #cfefac;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #cbc3eb;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #9f90da;
}

.table-hover .table-info:hover {
  background-color: #bab0e5;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #bab0e5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #fce6c1;
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #fad18d;
}

.table-hover .table-warning:hover {
  background-color: #fbdca9;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #fbdca9;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #ffd2d2;
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ffabab;
}

.table-hover .table-danger:hover {
  background-color: #ffb9b9;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #ffb9b9;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fcfcfc;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #f9fafa;
}

.table-hover .table-light:hover {
  background-color: #efefef;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #efefef;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #babcca;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #7f829c;
}

.table-hover .table-dark:hover {
  background-color: #acaebf;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #acaebf;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th, .jsgrid .jsgrid-table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th, .jsgrid .jsgrid-table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #f2f2f2;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}

.form-control, .tt-hint,
.tt-query,
.typeahead, .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, .asColorPicker-input {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.56rem 1.375rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 2px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control, .tt-hint,
  .tt-query,
  .typeahead, .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text],
  .jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, .asColorPicker-input {
    transition: none;
  }
}
.form-control::-ms-expand, .tt-hint::-ms-expand,
.tt-query::-ms-expand,
.typeahead::-ms-expand, .select2-container--default .select2-selection--single .select2-search__field::-ms-expand, .select2-container--default .select2-selection--single::-ms-expand, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-ms-expand, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-ms-expand,
.jsgrid .jsgrid-table .jsgrid-filter-row select::-ms-expand, .dataTables_wrapper select::-ms-expand, .asColorPicker-input::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus, .tt-hint:focus,
.tt-query:focus,
.typeahead:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select:focus, .dataTables_wrapper select:focus, .asColorPicker-input:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-control::-moz-placeholder, .tt-hint::-moz-placeholder, .tt-query::-moz-placeholder, .typeahead::-moz-placeholder, .select2-container--default .select2-selection--single .select2-search__field::-moz-placeholder, .select2-container--default .select2-selection--single::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row select::-moz-placeholder, .dataTables_wrapper select::-moz-placeholder, .asColorPicker-input::-moz-placeholder {
  color: #c9c8c8;
  opacity: 1;
}
.form-control::placeholder, .tt-hint::placeholder,
.tt-query::placeholder,
.typeahead::placeholder, .select2-container--default .select2-selection--single .select2-search__field::placeholder, .select2-container--default .select2-selection--single::placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row select::placeholder, .dataTables_wrapper select::placeholder, .asColorPicker-input::placeholder {
  color: #c9c8c8;
  opacity: 1;
}
.form-control:disabled, .tt-hint:disabled,
.tt-query:disabled,
.typeahead:disabled, .select2-container--default .select2-selection--single .select2-search__field:disabled, .select2-container--default .select2-selection--single:disabled, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:disabled, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:disabled,
.jsgrid .jsgrid-table .jsgrid-filter-row select:disabled, .dataTables_wrapper select:disabled, .asColorPicker-input:disabled, .form-control[readonly], [readonly].tt-hint,
[readonly].tt-query,
[readonly].typeahead, .select2-container--default .select2-selection--single [readonly].select2-search__field, .select2-container--default [readonly].select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[readonly][type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[readonly][type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select[readonly], .dataTables_wrapper select[readonly], [readonly].asColorPicker-input {
  background-color: #e9ecef;
  opacity: 1;
}

input[type=date].form-control, input[type=date].tt-hint,
input[type=date].tt-query,
input[type=date].typeahead, .select2-container--default .select2-selection--single input[type=date].select2-search__field, .select2-container--default input[type=date].select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=date][type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=date][type=text], input[type=date].asColorPicker-input,
input[type=time].form-control,
input[type=time].tt-hint,
input[type=time].tt-query,
input[type=time].typeahead,
.select2-container--default .select2-selection--single input[type=time].select2-search__field,
.select2-container--default input[type=time].select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=time][type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=time][type=text],
input[type=time].asColorPicker-input,
input[type=datetime-local].form-control,
input[type=datetime-local].tt-hint,
input[type=datetime-local].tt-query,
input[type=datetime-local].typeahead,
.select2-container--default .select2-selection--single input[type=datetime-local].select2-search__field,
.select2-container--default input[type=datetime-local].select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=datetime-local][type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=datetime-local][type=text],
input[type=datetime-local].asColorPicker-input,
input[type=month].form-control,
input[type=month].tt-hint,
input[type=month].tt-query,
input[type=month].typeahead,
.select2-container--default .select2-selection--single input[type=month].select2-search__field,
.select2-container--default input[type=month].select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=month][type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=month][type=text],
input[type=month].asColorPicker-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select.form-control:-moz-focusring, select.tt-hint:-moz-focusring,
select.tt-query:-moz-focusring,
select.typeahead:-moz-focusring, .select2-container--default .select2-selection--single select.select2-search__field:-moz-focusring, .select2-container--default select.select2-selection--single:-moz-focusring,
.jsgrid .jsgrid-table .jsgrid-filter-row select:-moz-focusring, .dataTables_wrapper select:-moz-focusring, select.asColorPicker-input:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}
select.form-control:focus::-ms-value, select.tt-hint:focus::-ms-value,
select.tt-query:focus::-ms-value,
select.typeahead:focus::-ms-value, .select2-container--default .select2-selection--single select.select2-search__field:focus::-ms-value, .select2-container--default select.select2-selection--single:focus::-ms-value,
.jsgrid .jsgrid-table .jsgrid-filter-row select:focus::-ms-value, .dataTables_wrapper select:focus::-ms-value, select.asColorPicker-input:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.56rem + 1px);
  padding-bottom: calc(0.56rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1;
}

.col-form-label-lg {
  padding-top: calc(0.94rem + 1px);
  padding-bottom: calc(0.94rem + 1px);
  font-size: 1.25rem;
  line-height: 1;
}

.col-form-label-sm {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 0.875rem;
  line-height: 1;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.56rem 0;
  margin-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.5rem 0.81rem;
  font-size: 0.875rem;
  line-height: 1;
  border-radius: 0.2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.94rem 1.94rem;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 0.3rem;
}

select.form-control[size], select[size].tt-hint,
select[size].tt-query,
select[size].typeahead, .select2-container--default .select2-selection--single select[size].select2-search__field, .select2-container--default select[size].select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row select[size], .dataTables_wrapper select[size], select[size].asColorPicker-input, select.form-control[multiple], select[multiple].tt-hint,
select[multiple].tt-query,
select[multiple].typeahead, .select2-container--default .select2-selection--single select[multiple].select2-search__field, .select2-container--default select[multiple].select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row select[multiple], .dataTables_wrapper select[multiple], select[multiple].asColorPicker-input {
  height: auto;
}

textarea.form-control, textarea.tt-hint,
textarea.tt-query,
textarea.typeahead, .select2-container--default .select2-selection--single textarea.select2-search__field, .select2-container--default textarea.select2-selection--single, textarea.asColorPicker-input {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col,
.form-row > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  color: #959595;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip {
  left: 5px;
}

.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, .was-validated .tt-hint:valid,
.was-validated .tt-query:valid,
.was-validated .typeahead:valid, .was-validated .select2-container--default .select2-selection--single .select2-search__field:valid, .select2-container--default .select2-selection--single .was-validated .select2-search__field:valid, .was-validated .select2-container--default .select2-selection--single:valid, .select2-container--default .was-validated .select2-selection--single:valid, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:valid, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=number]:valid, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:valid, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=text]:valid,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:valid,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:valid, .was-validated .dataTables_wrapper select:valid, .dataTables_wrapper .was-validated select:valid, .was-validated .asColorPicker-input:valid, .form-control.is-valid, .is-valid.tt-hint,
.is-valid.tt-query,
.is-valid.typeahead, .select2-container--default .select2-selection--single .is-valid.select2-search__field, .select2-container--default .is-valid.select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-valid[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input.is-valid[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-valid, .dataTables_wrapper select.is-valid, .is-valid.asColorPicker-input {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .was-validated .tt-hint:valid:focus,
.was-validated .tt-query:valid:focus,
.was-validated .typeahead:valid:focus, .was-validated .select2-container--default .select2-selection--single .select2-search__field:valid:focus, .select2-container--default .select2-selection--single .was-validated .select2-search__field:valid:focus, .was-validated .select2-container--default .select2-selection--single:valid:focus, .select2-container--default .was-validated .select2-selection--single:valid:focus, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:valid:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=number]:valid:focus, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:valid:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=text]:valid:focus,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:valid:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:valid:focus, .was-validated .dataTables_wrapper select:valid:focus, .dataTables_wrapper .was-validated select:valid:focus, .was-validated .asColorPicker-input:valid:focus, .form-control.is-valid:focus, .is-valid.tt-hint:focus,
.is-valid.tt-query:focus,
.is-valid.typeahead:focus, .select2-container--default .select2-selection--single .is-valid.select2-search__field:focus, .select2-container--default .is-valid.select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-valid[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-valid[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-valid:focus, .dataTables_wrapper select.is-valid:focus, .is-valid.asColorPicker-input:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated select.form-control:valid, .was-validated select.tt-hint:valid,
.was-validated select.tt-query:valid,
.was-validated select.typeahead:valid, .was-validated .select2-container--default .select2-selection--single select.select2-search__field:valid, .select2-container--default .select2-selection--single .was-validated select.select2-search__field:valid, .was-validated .select2-container--default select.select2-selection--single:valid, .select2-container--default .was-validated select.select2-selection--single:valid,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:valid,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:valid, .was-validated .dataTables_wrapper select:valid, .dataTables_wrapper .was-validated select:valid, .was-validated select.asColorPicker-input:valid, select.form-control.is-valid, select.is-valid.tt-hint,
select.is-valid.tt-query,
select.is-valid.typeahead, .select2-container--default .select2-selection--single select.is-valid.select2-search__field, .select2-container--default select.is-valid.select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-valid, .dataTables_wrapper select.is-valid, select.is-valid.asColorPicker-input {
  padding-right: 5.5rem !important;
  background-position: right 2.75rem center;
}

.was-validated textarea.form-control:valid, .was-validated textarea.tt-hint:valid,
.was-validated textarea.tt-query:valid,
.was-validated textarea.typeahead:valid, .was-validated .select2-container--default .select2-selection--single textarea.select2-search__field:valid, .select2-container--default .select2-selection--single .was-validated textarea.select2-search__field:valid, .was-validated .select2-container--default textarea.select2-selection--single:valid, .select2-container--default .was-validated textarea.select2-selection--single:valid, .was-validated textarea.asColorPicker-input:valid, textarea.form-control.is-valid, textarea.is-valid.tt-hint,
textarea.is-valid.tt-query,
textarea.is-valid.typeahead, .select2-container--default .select2-selection--single textarea.is-valid.select2-search__field, .select2-container--default textarea.is-valid.select2-selection--single, textarea.is-valid.asColorPicker-input {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745;
}
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #28a745;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip {
  left: 5px;
}

.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, .was-validated .tt-hint:invalid,
.was-validated .tt-query:invalid,
.was-validated .typeahead:invalid, .was-validated .select2-container--default .select2-selection--single .select2-search__field:invalid, .select2-container--default .select2-selection--single .was-validated .select2-search__field:invalid, .was-validated .select2-container--default .select2-selection--single:invalid, .select2-container--default .was-validated .select2-selection--single:invalid, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:invalid, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=number]:invalid, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:invalid, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=text]:invalid,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:invalid,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:invalid, .was-validated .dataTables_wrapper select:invalid, .dataTables_wrapper .was-validated select:invalid, .was-validated .asColorPicker-input:invalid, .form-control.is-invalid, .is-invalid.tt-hint,
.is-invalid.tt-query,
.is-invalid.typeahead, .select2-container--default .select2-selection--single .is-invalid.select2-search__field, .select2-container--default .is-invalid.select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-invalid[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input.is-invalid[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-invalid, .dataTables_wrapper select.is-invalid, .is-invalid.asColorPicker-input {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .was-validated .tt-hint:invalid:focus,
.was-validated .tt-query:invalid:focus,
.was-validated .typeahead:invalid:focus, .was-validated .select2-container--default .select2-selection--single .select2-search__field:invalid:focus, .select2-container--default .select2-selection--single .was-validated .select2-search__field:invalid:focus, .was-validated .select2-container--default .select2-selection--single:invalid:focus, .select2-container--default .was-validated .select2-selection--single:invalid:focus, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:invalid:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=number]:invalid:focus, .was-validated .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:invalid:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .was-validated input[type=text]:invalid:focus,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:invalid:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:invalid:focus, .was-validated .dataTables_wrapper select:invalid:focus, .dataTables_wrapper .was-validated select:invalid:focus, .was-validated .asColorPicker-input:invalid:focus, .form-control.is-invalid:focus, .is-invalid.tt-hint:focus,
.is-invalid.tt-query:focus,
.is-invalid.typeahead:focus, .select2-container--default .select2-selection--single .is-invalid.select2-search__field:focus, .select2-container--default .is-invalid.select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-invalid[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input.is-invalid[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-invalid:focus, .dataTables_wrapper select.is-invalid:focus, .is-invalid.asColorPicker-input:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated select.form-control:invalid, .was-validated select.tt-hint:invalid,
.was-validated select.tt-query:invalid,
.was-validated select.typeahead:invalid, .was-validated .select2-container--default .select2-selection--single select.select2-search__field:invalid, .select2-container--default .select2-selection--single .was-validated select.select2-search__field:invalid, .was-validated .select2-container--default select.select2-selection--single:invalid, .select2-container--default .was-validated select.select2-selection--single:invalid,
.was-validated .jsgrid .jsgrid-table .jsgrid-filter-row select:invalid,
.jsgrid .jsgrid-table .jsgrid-filter-row .was-validated select:invalid, .was-validated .dataTables_wrapper select:invalid, .dataTables_wrapper .was-validated select:invalid, .was-validated select.asColorPicker-input:invalid, select.form-control.is-invalid, select.is-invalid.tt-hint,
select.is-invalid.tt-query,
select.is-invalid.typeahead, .select2-container--default .select2-selection--single select.is-invalid.select2-search__field, .select2-container--default select.is-invalid.select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row select.is-invalid, .dataTables_wrapper select.is-invalid, select.is-invalid.asColorPicker-input {
  padding-right: 5.5rem !important;
  background-position: right 2.75rem center;
}

.was-validated textarea.form-control:invalid, .was-validated textarea.tt-hint:invalid,
.was-validated textarea.tt-query:invalid,
.was-validated textarea.typeahead:invalid, .was-validated .select2-container--default .select2-selection--single textarea.select2-search__field:invalid, .select2-container--default .select2-selection--single .was-validated textarea.select2-search__field:invalid, .was-validated .select2-container--default textarea.select2-selection--single:invalid, .select2-container--default .was-validated textarea.select2-selection--single:invalid, .was-validated textarea.asColorPicker-input:invalid, textarea.form-control.is-invalid, textarea.is-invalid.tt-hint,
textarea.is-invalid.tt-query,
textarea.is-invalid.typeahead, .select2-container--default .select2-selection--single textarea.is-invalid.select2-search__field, .select2-container--default textarea.is-invalid.select2-selection--single, textarea.is-invalid.asColorPicker-input {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #dc3545;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control, .form-inline .tt-hint,
  .form-inline .tt-query,
  .form-inline .typeahead, .form-inline .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .form-inline .select2-search__field, .form-inline .select2-container--default .select2-selection--single, .select2-container--default .form-inline .select2-selection--single, .form-inline .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .form-inline input[type=number], .form-inline .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .form-inline input[type=text],
  .form-inline .jsgrid .jsgrid-table .jsgrid-filter-row select,
  .jsgrid .jsgrid-table .jsgrid-filter-row .form-inline select, .form-inline .dataTables_wrapper select, .dataTables_wrapper .form-inline select, .form-inline .asColorPicker-input {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group, .form-inline .asColorPicker-wrap,
  .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn, .wizard > .actions a, .swal2-modal .swal2-buttonswrapper .swal2-styled, .ajax-upload-dragdrop .ajax-file-upload {
  display: inline-block;
  font-weight: 400;
  color: #000;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.56rem 1.375rem;
  font-size: 0.875rem;
  line-height: 1;
  border-radius: 0.1875rem;
  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) {
  .btn, .wizard > .actions a, .swal2-modal .swal2-buttonswrapper .swal2-styled, .ajax-upload-dragdrop .ajax-file-upload {
    transition: none;
  }
}
.btn:hover, .wizard > .actions a:hover, .swal2-modal .swal2-buttonswrapper .swal2-styled:hover, .ajax-upload-dragdrop .ajax-file-upload:hover {
  color: #000;
  text-decoration: none;
}
.btn:focus, .wizard > .actions a:focus, .swal2-modal .swal2-buttonswrapper .swal2-styled:focus, .ajax-upload-dragdrop .ajax-file-upload:focus, .btn.focus, .wizard > .actions a.focus, .swal2-modal .swal2-buttonswrapper .focus.swal2-styled, .ajax-upload-dragdrop .focus.ajax-file-upload {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.btn.disabled, .wizard > .actions a.disabled, .swal2-modal .swal2-buttonswrapper .disabled.swal2-styled, .ajax-upload-dragdrop .disabled.ajax-file-upload, .btn:disabled, .wizard > .actions a:disabled, .swal2-modal .swal2-buttonswrapper .swal2-styled:disabled, .ajax-upload-dragdrop .ajax-file-upload:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled), .wizard > .actions a:not(:disabled):not(.disabled), .swal2-modal .swal2-buttonswrapper .swal2-styled:not(:disabled):not(.disabled), .ajax-upload-dragdrop .ajax-file-upload:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled, .wizard > .actions a.disabled, .swal2-modal .swal2-buttonswrapper a.disabled.swal2-styled, .ajax-upload-dragdrop a.disabled.ajax-file-upload,
fieldset:disabled a.btn,
fieldset:disabled .wizard > .actions a,
.wizard > .actions fieldset:disabled a,
fieldset:disabled .swal2-modal .swal2-buttonswrapper a.swal2-styled,
.swal2-modal .swal2-buttonswrapper fieldset:disabled a.swal2-styled,
fieldset:disabled .ajax-upload-dragdrop a.ajax-file-upload,
.ajax-upload-dragdrop fieldset:disabled a.ajax-file-upload {
  pointer-events: none;
}

.btn-primary, .wizard > .actions a {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.btn-primary:hover, .wizard > .actions a:hover {
  color: #fff;
  background-color: #1d85ff;
  border-color: #107fff;
}
.btn-primary:focus, .wizard > .actions a:focus, .btn-primary.focus, .wizard > .actions a.focus {
  color: #fff;
  background-color: #1d85ff;
  border-color: #107fff;
  box-shadow: 0 0 0 0.2rem rgba(95, 169, 255, 0.5);
}
.btn-primary.disabled, .wizard > .actions a.disabled, .btn-primary:disabled, .wizard > .actions a:disabled {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.btn-primary:not(:disabled):not(.disabled):active, .wizard > .actions a:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .wizard > .actions a:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle, .wizard > .actions .show > a.dropdown-toggle {
  color: #fff;
  background-color: #107fff;
  border-color: #0378ff;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .wizard > .actions a:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .wizard > .actions a:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus, .wizard > .actions .show > a.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(95, 169, 255, 0.5);
}

.btn-secondary, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel {
  color: #212529;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.btn-secondary:hover, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:hover {
  color: #212529;
  background-color: #fc998c;
  border-color: #fc8e7f;
}
.btn-secondary:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:focus, .btn-secondary.focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .focus.editable-cancel {
  color: #212529;
  background-color: #fc998c;
  border-color: #fc8e7f;
  box-shadow: 0 0 0 0.2rem rgba(220, 164, 157, 0.5);
}
.btn-secondary.disabled, .editable-container.editable-inline .editableform .control-group .editable-buttons .disabled.editable-cancel, .btn-secondary:disabled, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:disabled {
  color: #212529;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.btn-secondary:not(:disabled):not(.disabled):active, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle, .editable-container.editable-inline .editableform .control-group .editable-buttons .show > .dropdown-toggle.editable-cancel {
  color: #212529;
  background-color: #fc8e7f;
  border-color: #fb8373;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .show > .dropdown-toggle.editable-cancel:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 164, 157, 0.5);
}

.btn-success {
  color: #212529;
  background-color: #7ed321;
  border-color: #7ed321;
}
.btn-success:hover {
  color: #fff;
  background-color: #6ab21c;
  border-color: #64a71a;
}
.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: #6ab21c;
  border-color: #64a71a;
  box-shadow: 0 0 0 0.2rem rgba(112, 185, 34, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: #212529;
  background-color: #7ed321;
  border-color: #7ed321;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #64a71a;
  border-color: #5d9c18;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(112, 185, 34, 0.5);
}

.btn-info, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.btn-info:hover, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:hover {
  color: #fff;
  background-color: #3b2298;
  border-color: #37208d;
}
.btn-info:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:focus, .btn-info.focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .focus.editable-submit {
  color: #fff;
  background-color: #3b2298;
  border-color: #37208d;
  box-shadow: 0 0 0 0.2rem rgba(99, 73, 194, 0.5);
}
.btn-info.disabled, .editable-container.editable-inline .editableform .control-group .editable-buttons .disabled.editable-submit, .btn-info:disabled, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:disabled {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.btn-info:not(:disabled):not(.disabled):active, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle, .editable-container.editable-inline .editableform .control-group .editable-buttons .show > .dropdown-toggle.editable-submit {
  color: #fff;
  background-color: #37208d;
  border-color: #331d83;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus, .editable-container.editable-inline .editableform .control-group .editable-buttons .show > .dropdown-toggle.editable-submit:focus {
  box-shadow: 0 0 0 0.2rem rgba(99, 73, 194, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #f5a623;
  border-color: #f5a623;
}
.btn-warning:hover {
  color: #212529;
  background-color: #e7940b;
  border-color: #db8c0a;
}
.btn-warning:focus, .btn-warning.focus {
  color: #212529;
  background-color: #e7940b;
  border-color: #db8c0a;
  box-shadow: 0 0 0 0.2rem rgba(213, 147, 36, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: #212529;
  background-color: #f5a623;
  border-color: #f5a623;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #db8c0a;
  border-color: #cf8509;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(213, 147, 36, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-danger:hover {
  color: #fff;
  background-color: #ff3838;
  border-color: #ff2b2b;
}
.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #ff3838;
  border-color: #ff2b2b;
  box-shadow: 0 0 0 0.2rem rgba(255, 118, 118, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #ff2b2b;
  border-color: #ff1e1e;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 118, 118, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-light:hover {
  color: #212529;
  background-color: #dde3e6;
  border-color: #d6dde0;
}
.btn-light:focus, .btn-light.focus {
  color: #212529;
  background-color: #dde3e6;
  border-color: #d6dde0;
  box-shadow: 0 0 0 0.2rem rgba(212, 214, 215, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #d6dde0;
  border-color: #cfd7db;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(212, 214, 215, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.btn-dark:hover {
  color: #fff;
  background-color: #04071e;
  border-color: #030413;
}
.btn-dark:focus, .btn-dark.focus {
  color: #fff;
  background-color: #04071e;
  border-color: #030413;
  box-shadow: 0 0 0 0.2rem rgba(46, 50, 93, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #030413;
  border-color: #010208;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(46, 50, 93, 0.5);
}

.btn-outline-primary, .wizard > .actions .disabled a {
  color: #439aff;
  border-color: #439aff;
}
.btn-outline-primary:hover, .wizard > .actions .disabled a:hover {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.btn-outline-primary:focus, .wizard > .actions .disabled a:focus, .btn-outline-primary.focus, .wizard > .actions .disabled a.focus {
  box-shadow: 0 0 0 0.2rem rgba(67, 154, 255, 0.5);
}
.btn-outline-primary.disabled, .wizard > .actions .disabled a.disabled, .btn-outline-primary:disabled, .wizard > .actions .disabled a:disabled {
  color: #439aff;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .wizard > .actions .disabled a:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .wizard > .actions .disabled a:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle, .wizard > .actions .disabled .show > a.dropdown-toggle {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .wizard > .actions .disabled a:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .wizard > .actions .disabled a:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus, .wizard > .actions .disabled .show > a.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(67, 154, 255, 0.5);
}

.btn-outline-secondary {
  color: #fdbab1;
  border-color: #fdbab1;
}
.btn-outline-secondary:hover {
  color: #212529;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(253, 186, 177, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #fdbab1;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
  color: #212529;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(253, 186, 177, 0.5);
}

.btn-outline-success {
  color: #7ed321;
  border-color: #7ed321;
}
.btn-outline-success:hover {
  color: #212529;
  background-color: #7ed321;
  border-color: #7ed321;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(126, 211, 33, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #7ed321;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
  color: #212529;
  background-color: #7ed321;
  border-color: #7ed321;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(126, 211, 33, 0.5);
}

.btn-outline-info {
  color: #4729b7;
  border-color: #4729b7;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(71, 41, 183, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #4729b7;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(71, 41, 183, 0.5);
}

.btn-outline-warning {
  color: #f5a623;
  border-color: #f5a623;
}
.btn-outline-warning:hover {
  color: #212529;
  background-color: #f5a623;
  border-color: #f5a623;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 166, 35, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #f5a623;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #f5a623;
  border-color: #f5a623;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 166, 35, 0.5);
}

.btn-outline-danger {
  color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 94, 94, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #ff5e5e;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 94, 94, 0.5);
}

.btn-outline-light {
  color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-outline-light:hover {
  color: #212529;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(243, 245, 246, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f3f5f6;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(243, 245, 246, 0.5);
}

.btn-outline-dark {
  color: #090e40;
  border-color: #090e40;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(9, 14, 64, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #090e40;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(9, 14, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none;
}
.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn, .wizard > .actions .btn-group-lg > a, .swal2-modal .swal2-buttonswrapper .btn-group-lg > .swal2-styled, .ajax-upload-dragdrop .btn-group-lg > .ajax-file-upload {
  padding: 0.94rem 1.94rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.1875rem;
}

.btn-sm, .btn-group-sm > .btn, .wizard > .actions .btn-group-sm > a, .swal2-modal .swal2-buttonswrapper .btn-group-sm > .swal2-styled, .ajax-upload-dragdrop .btn-group-sm > .ajax-file-upload {
  padding: 0.5rem 0.81rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.1875rem;
}

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block {
  width: 100%;
}

.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 {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.width {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.width {
    transition: none;
  }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #f2f2f2;
  border-radius: 0.25rem;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropleft .dropdown-toggle::after {
  display: none;
}
.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #f2f2f2;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #000;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

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

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #000;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #000;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .wizard > .actions .btn-group > a, .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled, .ajax-upload-dragdrop .btn-group > .ajax-file-upload,
.btn-group-vertical > .btn,
.wizard > .actions .btn-group-vertical > a,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled,
.ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover, .wizard > .actions .btn-group > a:hover, .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:hover, .ajax-upload-dragdrop .btn-group > .ajax-file-upload:hover,
.btn-group-vertical > .btn:hover,
.wizard > .actions .btn-group-vertical > a:hover,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:hover,
.ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .wizard > .actions .btn-group > a:focus, .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:focus, .ajax-upload-dragdrop .btn-group > .ajax-file-upload:focus, .btn-group > .btn:active, .wizard > .actions .btn-group > a:active, .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:active, .ajax-upload-dragdrop .btn-group > .ajax-file-upload:active, .btn-group > .btn.active, .wizard > .actions .btn-group > a.active, .swal2-modal .swal2-buttonswrapper .btn-group > .active.swal2-styled, .ajax-upload-dragdrop .btn-group > .active.ajax-file-upload,
.btn-group-vertical > .btn:focus,
.wizard > .actions .btn-group-vertical > a:focus,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:focus,
.ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:focus,
.btn-group-vertical > .btn:active,
.wizard > .actions .btn-group-vertical > a:active,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:active,
.ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:active,
.btn-group-vertical > .btn.active,
.wizard > .actions .btn-group-vertical > a.active,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .active.swal2-styled,
.ajax-upload-dragdrop .btn-group-vertical > .active.ajax-file-upload {
  z-index: 1;
}

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

.btn-group > .btn:not(:first-child), .wizard > .actions .btn-group > a:not(:first-child), .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:not(:first-child), .ajax-upload-dragdrop .btn-group > .ajax-file-upload:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .wizard > .actions .btn-group > a:not(:last-child):not(.dropdown-toggle), .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:not(:last-child):not(.dropdown-toggle), .ajax-upload-dragdrop .btn-group > .ajax-file-upload:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn,
.wizard > .actions .btn-group > .btn-group:not(:last-child) > a,
.swal2-modal .swal2-buttonswrapper .btn-group > .btn-group:not(:last-child) > .swal2-styled,
.ajax-upload-dragdrop .btn-group > .btn-group:not(:last-child) > .ajax-file-upload {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child), .wizard > .actions .btn-group > a:not(:first-child), .swal2-modal .swal2-buttonswrapper .btn-group > .swal2-styled:not(:first-child), .ajax-upload-dragdrop .btn-group > .ajax-file-upload:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn,
.wizard > .actions .btn-group > .btn-group:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .btn-group > .btn-group:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .btn-group > .btn-group:not(:first-child) > .ajax-file-upload {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 1.03125rem;
  padding-left: 1.03125rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .wizard > .actions .btn-group-sm > a + .dropdown-toggle-split, .swal2-modal .swal2-buttonswrapper .btn-group-sm > .swal2-styled + .dropdown-toggle-split, .ajax-upload-dragdrop .btn-group-sm > .ajax-file-upload + .dropdown-toggle-split {
  padding-right: 0.6075rem;
  padding-left: 0.6075rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .wizard > .actions .btn-group-lg > a + .dropdown-toggle-split, .swal2-modal .swal2-buttonswrapper .btn-group-lg > .swal2-styled + .dropdown-toggle-split, .ajax-upload-dragdrop .btn-group-lg > .ajax-file-upload + .dropdown-toggle-split {
  padding-right: 1.455rem;
  padding-left: 1.455rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .wizard > .actions .btn-group-vertical > a, .swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled, .ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .wizard > .actions .btn-group-vertical > a:not(:first-child), .swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:not(:first-child), .ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .wizard > .actions .btn-group-vertical > a:not(:last-child):not(.dropdown-toggle), .swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:not(:last-child):not(.dropdown-toggle), .ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn,
.wizard > .actions .btn-group-vertical > .btn-group:not(:last-child) > a,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .btn-group:not(:last-child) > .swal2-styled,
.ajax-upload-dragdrop .btn-group-vertical > .btn-group:not(:last-child) > .ajax-file-upload {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child), .wizard > .actions .btn-group-vertical > a:not(:first-child), .swal2-modal .swal2-buttonswrapper .btn-group-vertical > .swal2-styled:not(:first-child), .ajax-upload-dragdrop .btn-group-vertical > .ajax-file-upload:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn,
.wizard > .actions .btn-group-vertical > .btn-group:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .btn-group-vertical > .btn-group:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .btn-group-vertical > .btn-group:not(:first-child) > .ajax-file-upload {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn, .wizard > .actions .btn-group-toggle > a, .swal2-modal .swal2-buttonswrapper .btn-group-toggle > .swal2-styled, .ajax-upload-dragdrop .btn-group-toggle > .ajax-file-upload,
.btn-group-toggle > .btn-group > .btn,
.wizard > .actions .btn-group-toggle > .btn-group > a,
.swal2-modal .swal2-buttonswrapper .btn-group-toggle > .btn-group > .swal2-styled,
.ajax-upload-dragdrop .btn-group-toggle > .btn-group > .ajax-file-upload {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type=radio], .wizard > .actions .btn-group-toggle > a input[type=radio], .swal2-modal .swal2-buttonswrapper .btn-group-toggle > .swal2-styled input[type=radio], .ajax-upload-dragdrop .btn-group-toggle > .ajax-file-upload input[type=radio],
.btn-group-toggle > .btn input[type=checkbox],
.wizard > .actions .btn-group-toggle > a input[type=checkbox],
.swal2-modal .swal2-buttonswrapper .btn-group-toggle > .swal2-styled input[type=checkbox],
.ajax-upload-dragdrop .btn-group-toggle > .ajax-file-upload input[type=checkbox],
.btn-group-toggle > .btn-group > .btn input[type=radio],
.wizard > .actions .btn-group-toggle > .btn-group > a input[type=radio],
.swal2-modal .swal2-buttonswrapper .btn-group-toggle > .btn-group > .swal2-styled input[type=radio],
.ajax-upload-dragdrop .btn-group-toggle > .btn-group > .ajax-file-upload input[type=radio],
.btn-group-toggle > .btn-group > .btn input[type=checkbox],
.wizard > .actions .btn-group-toggle > .btn-group > a input[type=checkbox],
.swal2-modal .swal2-buttonswrapper .btn-group-toggle > .btn-group > .swal2-styled input[type=checkbox],
.ajax-upload-dragdrop .btn-group-toggle > .btn-group > .ajax-file-upload input[type=checkbox] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group, .asColorPicker-wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .input-group > .tt-hint,
.input-group > .tt-query,
.input-group > .typeahead, .select2-container--default .select2-selection--single .input-group > .select2-search__field, .select2-container--default .input-group > .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select, .dataTables_wrapper .input-group > select, .asColorPicker-wrap > .form-control, .asColorPicker-wrap > .tt-hint,
.asColorPicker-wrap > .tt-query,
.asColorPicker-wrap > .typeahead, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field, .select2-container--default .asColorPicker-wrap > .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select, .dataTables_wrapper .asColorPicker-wrap > select, .input-group > .asColorPicker-input, .asColorPicker-wrap > .asColorPicker-input,
.input-group > .form-control-plaintext,
.asColorPicker-wrap > .form-control-plaintext,
.input-group > .custom-select,
.asColorPicker-wrap > .custom-select,
.input-group > .custom-file,
.asColorPicker-wrap > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control, .input-group > .tt-hint + .form-control,
.input-group > .tt-query + .form-control,
.input-group > .typeahead + .form-control, .input-group > .form-control + .tt-hint, .input-group > .tt-hint + .tt-hint,
.input-group > .tt-query + .tt-hint,
.input-group > .typeahead + .tt-hint,
.input-group > .form-control + .tt-query,
.input-group > .tt-hint + .tt-query,
.input-group > .tt-query + .tt-query,
.input-group > .typeahead + .tt-query,
.input-group > .form-control + .typeahead,
.input-group > .tt-hint + .typeahead,
.input-group > .tt-query + .typeahead,
.input-group > .typeahead + .typeahead, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .form-control, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .tt-hint,
.select2-container--default .select2-selection--single .input-group > .select2-search__field + .tt-query,
.select2-container--default .select2-selection--single .input-group > .select2-search__field + .typeahead, .select2-container--default .select2-selection--single .input-group > .form-control + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .tt-hint + .select2-search__field,
.select2-container--default .select2-selection--single .input-group > .tt-query + .select2-search__field,
.select2-container--default .select2-selection--single .input-group > .typeahead + .select2-search__field, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .select2-search__field, .select2-container--default .input-group > .select2-selection--single + .form-control, .select2-container--default .input-group > .select2-selection--single + .tt-hint,
.select2-container--default .input-group > .select2-selection--single + .tt-query,
.select2-container--default .input-group > .select2-selection--single + .typeahead, .select2-container--default .select2-selection--single .input-group > .select2-selection--single + .select2-search__field, .select2-container--default .input-group > .form-control + .select2-selection--single, .select2-container--default .input-group > .tt-hint + .select2-selection--single,
.select2-container--default .input-group > .tt-query + .select2-selection--single,
.select2-container--default .input-group > .typeahead + .select2-selection--single, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .select2-selection--single, .select2-container--default .input-group > .select2-selection--single + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .form-control, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .typeahead, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > input[type=number] + .select2-search__field, .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .select2-search__field, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > input[type=number] + .select2-selection--single, .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-hint + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-query + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .typeahead + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > .select2-search__field + input[type=number], .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-search__field + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > .select2-selection--single + input[type=number], .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-selection--single + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .form-control, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .typeahead, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > input[type=text] + .select2-search__field, .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .select2-search__field, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > input[type=text] + .select2-selection--single, .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .form-control,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .typeahead,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > select + .select2-search__field,
.select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .select2-search__field,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > select + .select2-selection--single,
.select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-hint + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-query + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .typeahead + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > .select2-search__field + input[type=text], .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-search__field + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > .select2-selection--single + input[type=text], .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-selection--single + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-hint + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .tt-query + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .typeahead + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .input-group > .select2-search__field + select,
.select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-search__field + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .input-group > .select2-selection--single + select,
.select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .select2-selection--single + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + select, .dataTables_wrapper .input-group > select + .form-control, .dataTables_wrapper .input-group > select + .tt-hint,
.dataTables_wrapper .input-group > select + .tt-query,
.dataTables_wrapper .input-group > select + .typeahead, .dataTables_wrapper .select2-container--default .select2-selection--single .input-group > select + .select2-search__field, .select2-container--default .select2-selection--single .dataTables_wrapper .input-group > select + .select2-search__field, .dataTables_wrapper .select2-container--default .input-group > select + .select2-selection--single, .select2-container--default .dataTables_wrapper .input-group > select + .select2-selection--single, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > select + input[type=number], .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > select + input[type=text],
.dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > select + select, .dataTables_wrapper .input-group > .form-control + select, .dataTables_wrapper .input-group > .tt-hint + select,
.dataTables_wrapper .input-group > .tt-query + select,
.dataTables_wrapper .input-group > .typeahead + select, .dataTables_wrapper .select2-container--default .select2-selection--single .input-group > .select2-search__field + select, .select2-container--default .select2-selection--single .dataTables_wrapper .input-group > .select2-search__field + select, .dataTables_wrapper .select2-container--default .input-group > .select2-selection--single + select, .select2-container--default .dataTables_wrapper .input-group > .select2-selection--single + select, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + select, .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > input[type=number] + select, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + select, .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > input[type=text] + select,
.dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .input-group > select + select, .dataTables_wrapper .input-group > select + select, .asColorPicker-wrap > .form-control + .form-control, .asColorPicker-wrap > .tt-hint + .form-control,
.asColorPicker-wrap > .tt-query + .form-control,
.asColorPicker-wrap > .typeahead + .form-control, .asColorPicker-wrap > .form-control + .tt-hint, .asColorPicker-wrap > .tt-hint + .tt-hint,
.asColorPicker-wrap > .tt-query + .tt-hint,
.asColorPicker-wrap > .typeahead + .tt-hint,
.asColorPicker-wrap > .form-control + .tt-query,
.asColorPicker-wrap > .tt-hint + .tt-query,
.asColorPicker-wrap > .tt-query + .tt-query,
.asColorPicker-wrap > .typeahead + .tt-query,
.asColorPicker-wrap > .form-control + .typeahead,
.asColorPicker-wrap > .tt-hint + .typeahead,
.asColorPicker-wrap > .tt-query + .typeahead,
.asColorPicker-wrap > .typeahead + .typeahead, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .form-control, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .tt-hint,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .tt-query,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .typeahead, .select2-container--default .select2-selection--single .asColorPicker-wrap > .form-control + .select2-search__field, .select2-container--default .select2-selection--single .asColorPicker-wrap > .tt-hint + .select2-search__field,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .tt-query + .select2-search__field,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .typeahead + .select2-search__field, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .select2-search__field, .select2-container--default .asColorPicker-wrap > .select2-selection--single + .form-control, .select2-container--default .asColorPicker-wrap > .select2-selection--single + .tt-hint,
.select2-container--default .asColorPicker-wrap > .select2-selection--single + .tt-query,
.select2-container--default .asColorPicker-wrap > .select2-selection--single + .typeahead, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-selection--single + .select2-search__field, .select2-container--default .asColorPicker-wrap > .form-control + .select2-selection--single, .select2-container--default .asColorPicker-wrap > .tt-hint + .select2-selection--single,
.select2-container--default .asColorPicker-wrap > .tt-query + .select2-selection--single,
.select2-container--default .asColorPicker-wrap > .typeahead + .select2-selection--single, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .select2-selection--single, .select2-container--default .asColorPicker-wrap > .select2-selection--single + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .form-control, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .typeahead, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > input[type=number] + .select2-search__field, .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .select2-search__field, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > input[type=number] + .select2-selection--single, .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-hint + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-query + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .typeahead + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + input[type=number], .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-search__field + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > .select2-selection--single + input[type=number], .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-selection--single + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .form-control, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .typeahead, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > input[type=text] + .select2-search__field, .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .select2-search__field, .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > input[type=text] + .select2-selection--single, .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .form-control,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .tt-hint,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .tt-query,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .typeahead,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > select + .select2-search__field,
.select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .select2-search__field,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > select + .select2-selection--single,
.select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-hint + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-query + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .typeahead + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + input[type=text], .select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-search__field + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > .select2-selection--single + input[type=text], .select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-selection--single + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-hint + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .tt-query + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .typeahead + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + select,
.select2-container--default .select2-selection--single .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-search__field + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .select2-container--default .asColorPicker-wrap > .select2-selection--single + select,
.select2-container--default .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .select2-selection--single + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + select, .dataTables_wrapper .asColorPicker-wrap > select + .form-control, .dataTables_wrapper .asColorPicker-wrap > select + .tt-hint,
.dataTables_wrapper .asColorPicker-wrap > select + .tt-query,
.dataTables_wrapper .asColorPicker-wrap > select + .typeahead, .dataTables_wrapper .select2-container--default .select2-selection--single .asColorPicker-wrap > select + .select2-search__field, .select2-container--default .select2-selection--single .dataTables_wrapper .asColorPicker-wrap > select + .select2-search__field, .dataTables_wrapper .select2-container--default .asColorPicker-wrap > select + .select2-selection--single, .select2-container--default .dataTables_wrapper .asColorPicker-wrap > select + .select2-selection--single, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > select + input[type=number], .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > select + input[type=text],
.dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > select + select, .dataTables_wrapper .asColorPicker-wrap > .form-control + select, .dataTables_wrapper .asColorPicker-wrap > .tt-hint + select,
.dataTables_wrapper .asColorPicker-wrap > .tt-query + select,
.dataTables_wrapper .asColorPicker-wrap > .typeahead + select, .dataTables_wrapper .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + select, .select2-container--default .select2-selection--single .dataTables_wrapper .asColorPicker-wrap > .select2-search__field + select, .dataTables_wrapper .select2-container--default .asColorPicker-wrap > .select2-selection--single + select, .select2-container--default .dataTables_wrapper .asColorPicker-wrap > .select2-selection--single + select, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + select, .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > input[type=number] + select, .dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + select, .jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > input[type=text] + select,
.dataTables_wrapper .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + select,
.jsgrid .jsgrid-table .jsgrid-filter-row .dataTables_wrapper .asColorPicker-wrap > select + select, .dataTables_wrapper .asColorPicker-wrap > select + select, .input-group > .asColorPicker-input + .form-control, .input-group > .asColorPicker-input + .tt-hint,
.input-group > .asColorPicker-input + .tt-query,
.input-group > .asColorPicker-input + .typeahead, .select2-container--default .select2-selection--single .input-group > .asColorPicker-input + .select2-search__field, .select2-container--default .input-group > .asColorPicker-input + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .asColorPicker-input + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .asColorPicker-input + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .asColorPicker-input + select, .dataTables_wrapper .input-group > .asColorPicker-input + select, .asColorPicker-wrap > .asColorPicker-input + .form-control, .asColorPicker-wrap > .asColorPicker-input + .tt-hint,
.asColorPicker-wrap > .asColorPicker-input + .tt-query,
.asColorPicker-wrap > .asColorPicker-input + .typeahead, .select2-container--default .select2-selection--single .asColorPicker-wrap > .asColorPicker-input + .select2-search__field, .select2-container--default .asColorPicker-wrap > .asColorPicker-input + .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .asColorPicker-input + input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .asColorPicker-input + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .asColorPicker-input + select, .dataTables_wrapper .asColorPicker-wrap > .asColorPicker-input + select, .input-group > .form-control + .asColorPicker-input, .input-group > .tt-hint + .asColorPicker-input,
.input-group > .tt-query + .asColorPicker-input,
.input-group > .typeahead + .asColorPicker-input, .select2-container--default .select2-selection--single .input-group > .select2-search__field + .asColorPicker-input, .select2-container--default .input-group > .select2-selection--single + .asColorPicker-input, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .asColorPicker-input, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .asColorPicker-input,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .asColorPicker-input, .dataTables_wrapper .input-group > select + .asColorPicker-input, .asColorPicker-wrap > .form-control + .asColorPicker-input, .asColorPicker-wrap > .tt-hint + .asColorPicker-input,
.asColorPicker-wrap > .tt-query + .asColorPicker-input,
.asColorPicker-wrap > .typeahead + .asColorPicker-input, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .asColorPicker-input, .select2-container--default .asColorPicker-wrap > .select2-selection--single + .asColorPicker-input, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .asColorPicker-input, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .asColorPicker-input,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .asColorPicker-input, .dataTables_wrapper .asColorPicker-wrap > select + .asColorPicker-input, .input-group > .asColorPicker-input + .asColorPicker-input, .asColorPicker-wrap > .asColorPicker-input + .asColorPicker-input,
.input-group > .form-control + .custom-select,
.input-group > .tt-hint + .custom-select,
.input-group > .tt-query + .custom-select,
.input-group > .typeahead + .custom-select,
.select2-container--default .select2-selection--single .input-group > .select2-search__field + .custom-select,
.select2-container--default .input-group > .select2-selection--single + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .custom-select,
.dataTables_wrapper .input-group > select + .custom-select,
.asColorPicker-wrap > .form-control + .custom-select,
.asColorPicker-wrap > .tt-hint + .custom-select,
.asColorPicker-wrap > .tt-query + .custom-select,
.asColorPicker-wrap > .typeahead + .custom-select,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .custom-select,
.select2-container--default .asColorPicker-wrap > .select2-selection--single + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .custom-select,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .custom-select,
.dataTables_wrapper .asColorPicker-wrap > select + .custom-select,
.input-group > .asColorPicker-input + .custom-select,
.asColorPicker-wrap > .asColorPicker-input + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .tt-hint + .custom-file,
.input-group > .tt-query + .custom-file,
.input-group > .typeahead + .custom-file,
.select2-container--default .select2-selection--single .input-group > .select2-search__field + .custom-file,
.select2-container--default .input-group > .select2-selection--single + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number] + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text] + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select + .custom-file,
.dataTables_wrapper .input-group > select + .custom-file,
.asColorPicker-wrap > .form-control + .custom-file,
.asColorPicker-wrap > .tt-hint + .custom-file,
.asColorPicker-wrap > .tt-query + .custom-file,
.asColorPicker-wrap > .typeahead + .custom-file,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field + .custom-file,
.select2-container--default .asColorPicker-wrap > .select2-selection--single + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number] + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text] + .custom-file,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select + .custom-file,
.dataTables_wrapper .asColorPicker-wrap > select + .custom-file,
.input-group > .asColorPicker-input + .custom-file,
.asColorPicker-wrap > .asColorPicker-input + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .tt-hint,
.input-group > .form-control-plaintext + .tt-query,
.input-group > .form-control-plaintext + .typeahead,
.select2-container--default .select2-selection--single .input-group > .form-control-plaintext + .select2-search__field,
.select2-container--default .input-group > .form-control-plaintext + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control-plaintext + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control-plaintext + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .form-control-plaintext + select,
.dataTables_wrapper .input-group > .form-control-plaintext + select,
.asColorPicker-wrap > .form-control-plaintext + .form-control,
.asColorPicker-wrap > .form-control-plaintext + .tt-hint,
.asColorPicker-wrap > .form-control-plaintext + .tt-query,
.asColorPicker-wrap > .form-control-plaintext + .typeahead,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .form-control-plaintext + .select2-search__field,
.select2-container--default .asColorPicker-wrap > .form-control-plaintext + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control-plaintext + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control-plaintext + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .form-control-plaintext + select,
.dataTables_wrapper .asColorPicker-wrap > .form-control-plaintext + select,
.input-group > .form-control-plaintext + .asColorPicker-input,
.asColorPicker-wrap > .form-control-plaintext + .asColorPicker-input,
.input-group > .form-control-plaintext + .custom-select,
.asColorPicker-wrap > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.asColorPicker-wrap > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .tt-hint,
.input-group > .custom-select + .tt-query,
.input-group > .custom-select + .typeahead,
.select2-container--default .select2-selection--single .input-group > .custom-select + .select2-search__field,
.select2-container--default .input-group > .custom-select + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-select + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-select + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-select + select,
.dataTables_wrapper .input-group > .custom-select + select,
.asColorPicker-wrap > .custom-select + .form-control,
.asColorPicker-wrap > .custom-select + .tt-hint,
.asColorPicker-wrap > .custom-select + .tt-query,
.asColorPicker-wrap > .custom-select + .typeahead,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .custom-select + .select2-search__field,
.select2-container--default .asColorPicker-wrap > .custom-select + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-select + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-select + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-select + select,
.dataTables_wrapper .asColorPicker-wrap > .custom-select + select,
.input-group > .custom-select + .asColorPicker-input,
.asColorPicker-wrap > .custom-select + .asColorPicker-input,
.input-group > .custom-select + .custom-select,
.asColorPicker-wrap > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.asColorPicker-wrap > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .tt-hint,
.input-group > .custom-file + .tt-query,
.input-group > .custom-file + .typeahead,
.select2-container--default .select2-selection--single .input-group > .custom-file + .select2-search__field,
.select2-container--default .input-group > .custom-file + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-file + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-file + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > .custom-file + select,
.dataTables_wrapper .input-group > .custom-file + select,
.asColorPicker-wrap > .custom-file + .form-control,
.asColorPicker-wrap > .custom-file + .tt-hint,
.asColorPicker-wrap > .custom-file + .tt-query,
.asColorPicker-wrap > .custom-file + .typeahead,
.select2-container--default .select2-selection--single .asColorPicker-wrap > .custom-file + .select2-search__field,
.select2-container--default .asColorPicker-wrap > .custom-file + .select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-file + input[type=number],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-file + input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > .custom-file + select,
.dataTables_wrapper .asColorPicker-wrap > .custom-file + select,
.input-group > .custom-file + .asColorPicker-input,
.asColorPicker-wrap > .custom-file + .asColorPicker-input,
.input-group > .custom-file + .custom-select,
.asColorPicker-wrap > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file,
.asColorPicker-wrap > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus, .input-group > .tt-hint:focus,
.input-group > .tt-query:focus,
.input-group > .typeahead:focus, .select2-container--default .select2-selection--single .input-group > .select2-search__field:focus, .select2-container--default .input-group > .select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select:focus, .dataTables_wrapper .input-group > select:focus, .asColorPicker-wrap > .form-control:focus, .asColorPicker-wrap > .tt-hint:focus,
.asColorPicker-wrap > .tt-query:focus,
.asColorPicker-wrap > .typeahead:focus, .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field:focus, .select2-container--default .asColorPicker-wrap > .select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select:focus, .dataTables_wrapper .asColorPicker-wrap > select:focus, .input-group > .asColorPicker-input:focus, .asColorPicker-wrap > .asColorPicker-input:focus,
.input-group > .custom-select:focus,
.asColorPicker-wrap > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label,
.asColorPicker-wrap > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus, .asColorPicker-wrap > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:first-child), .input-group > .tt-hint:not(:first-child),
.input-group > .tt-query:not(:first-child),
.input-group > .typeahead:not(:first-child), .select2-container--default .select2-selection--single .input-group > .select2-search__field:not(:first-child), .select2-container--default .input-group > .select2-selection--single:not(:first-child), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=number]:not(:first-child), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group > input[type=text]:not(:first-child),
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group > select:not(:first-child), .dataTables_wrapper .input-group > select:not(:first-child), .asColorPicker-wrap > .form-control:not(:first-child), .asColorPicker-wrap > .tt-hint:not(:first-child),
.asColorPicker-wrap > .tt-query:not(:first-child),
.asColorPicker-wrap > .typeahead:not(:first-child), .select2-container--default .select2-selection--single .asColorPicker-wrap > .select2-search__field:not(:first-child), .select2-container--default .asColorPicker-wrap > .select2-selection--single:not(:first-child), .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=number]:not(:first-child), .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > input[type=text]:not(:first-child),
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap > select:not(:first-child), .dataTables_wrapper .asColorPicker-wrap > select:not(:first-child), .input-group > .asColorPicker-input:not(:first-child), .asColorPicker-wrap > .asColorPicker-input:not(:first-child),
.input-group > .custom-select:not(:first-child),
.asColorPicker-wrap > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file, .asColorPicker-wrap > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .asColorPicker-wrap > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after, .asColorPicker-wrap > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label, .asColorPicker-wrap > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child), .input-group:not(.has-validation) > .tt-hint:not(:last-child),
.input-group:not(.has-validation) > .tt-query:not(:last-child),
.input-group:not(.has-validation) > .typeahead:not(:last-child), .select2-container--default .select2-selection--single .input-group:not(.has-validation) > .select2-search__field:not(:last-child), .select2-container--default .input-group:not(.has-validation) > .select2-selection--single:not(:last-child), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group:not(.has-validation) > input[type=number]:not(:last-child), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group:not(.has-validation) > input[type=text]:not(:last-child),
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group:not(.has-validation) > select:not(:last-child), .dataTables_wrapper .input-group:not(.has-validation) > select:not(:last-child), .asColorPicker-wrap:not(.has-validation) > .form-control:not(:last-child), .asColorPicker-wrap:not(.has-validation) > .tt-hint:not(:last-child),
.asColorPicker-wrap:not(.has-validation) > .tt-query:not(:last-child),
.asColorPicker-wrap:not(.has-validation) > .typeahead:not(:last-child), .select2-container--default .select2-selection--single .asColorPicker-wrap:not(.has-validation) > .select2-search__field:not(:last-child), .select2-container--default .asColorPicker-wrap:not(.has-validation) > .select2-selection--single:not(:last-child), .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap:not(.has-validation) > input[type=number]:not(:last-child), .jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap:not(.has-validation) > input[type=text]:not(:last-child),
.jsgrid .jsgrid-table .jsgrid-filter-row .asColorPicker-wrap:not(.has-validation) > select:not(:last-child), .dataTables_wrapper .asColorPicker-wrap:not(.has-validation) > select:not(:last-child), .input-group:not(.has-validation) > .asColorPicker-input:not(:last-child), .asColorPicker-wrap:not(.has-validation) > .asColorPicker-input:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.asColorPicker-wrap:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.asColorPicker-wrap:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after,
.asColorPicker-wrap:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n+3), .input-group.has-validation > .tt-hint:nth-last-child(n+3),
.input-group.has-validation > .tt-query:nth-last-child(n+3),
.input-group.has-validation > .typeahead:nth-last-child(n+3), .select2-container--default .select2-selection--single .input-group.has-validation > .select2-search__field:nth-last-child(n+3), .select2-container--default .input-group.has-validation > .select2-selection--single:nth-last-child(n+3), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group.has-validation > input[type=number]:nth-last-child(n+3), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group.has-validation > input[type=text]:nth-last-child(n+3),
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group.has-validation > select:nth-last-child(n+3), .dataTables_wrapper .input-group.has-validation > select:nth-last-child(n+3), .has-validation.asColorPicker-wrap > .form-control:nth-last-child(n+3), .has-validation.asColorPicker-wrap > .tt-hint:nth-last-child(n+3),
.has-validation.asColorPicker-wrap > .tt-query:nth-last-child(n+3),
.has-validation.asColorPicker-wrap > .typeahead:nth-last-child(n+3), .select2-container--default .select2-selection--single .has-validation.asColorPicker-wrap > .select2-search__field:nth-last-child(n+3), .select2-container--default .has-validation.asColorPicker-wrap > .select2-selection--single:nth-last-child(n+3), .jsgrid .jsgrid-table .jsgrid-filter-row .has-validation.asColorPicker-wrap > input[type=number]:nth-last-child(n+3), .jsgrid .jsgrid-table .jsgrid-filter-row .has-validation.asColorPicker-wrap > input[type=text]:nth-last-child(n+3),
.jsgrid .jsgrid-table .jsgrid-filter-row .has-validation.asColorPicker-wrap > select:nth-last-child(n+3), .dataTables_wrapper .has-validation.asColorPicker-wrap > select:nth-last-child(n+3), .input-group.has-validation > .asColorPicker-input:nth-last-child(n+3), .has-validation.asColorPicker-wrap > .asColorPicker-input:nth-last-child(n+3),
.input-group.has-validation > .custom-select:nth-last-child(n+3),
.has-validation.asColorPicker-wrap > .custom-select:nth-last-child(n+3),
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label,
.has-validation.asColorPicker-wrap > .custom-file:nth-last-child(n+3) .custom-file-label,
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after,
.has-validation.asColorPicker-wrap > .custom-file:nth-last-child(n+3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend, .asColorPicker-trigger,
.input-group-append {
  display: flex;
}
.input-group-prepend .btn, .input-group-prepend .wizard > .actions a, .wizard > .actions .input-group-prepend a, .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled, .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload, .asColorPicker-trigger .btn, .asColorPicker-trigger .wizard > .actions a, .wizard > .actions .asColorPicker-trigger a, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled, .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload,
.input-group-append .btn,
.input-group-append .wizard > .actions a,
.wizard > .actions .input-group-append a,
.input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled,
.input-group-append .ajax-upload-dragdrop .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .ajax-file-upload {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus, .input-group-prepend .wizard > .actions a:focus, .wizard > .actions .input-group-prepend a:focus, .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled:focus, .swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled:focus, .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload:focus, .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload:focus, .asColorPicker-trigger .btn:focus, .asColorPicker-trigger .wizard > .actions a:focus, .wizard > .actions .asColorPicker-trigger a:focus, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled:focus, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled:focus, .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload:focus, .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload:focus,
.input-group-append .btn:focus,
.input-group-append .wizard > .actions a:focus,
.wizard > .actions .input-group-append a:focus,
.input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled:focus,
.swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled:focus,
.input-group-append .ajax-upload-dragdrop .ajax-file-upload:focus,
.ajax-upload-dragdrop .input-group-append .ajax-file-upload:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn, .input-group-prepend .wizard > .actions a + .btn, .wizard > .actions .input-group-prepend a + .btn, .input-group-prepend .wizard > .actions .btn + a, .wizard > .actions .input-group-prepend .btn + a, .input-group-prepend .wizard > .actions a + a, .wizard > .actions .input-group-prepend a + a, .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled + .btn, .input-group-prepend .swal2-modal .swal2-buttonswrapper .wizard > .actions .swal2-styled + a, .wizard > .actions .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled + a, .swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled + .btn, .swal2-modal .swal2-buttonswrapper .input-group-prepend .wizard > .actions .swal2-styled + a, .wizard > .actions .swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled + a, .input-group-prepend .swal2-modal .swal2-buttonswrapper .btn + .swal2-styled, .input-group-prepend .swal2-modal .swal2-buttonswrapper .wizard > .actions a + .swal2-styled, .wizard > .actions .input-group-prepend .swal2-modal .swal2-buttonswrapper a + .swal2-styled, .swal2-modal .swal2-buttonswrapper .input-group-prepend .btn + .swal2-styled, .swal2-modal .swal2-buttonswrapper .input-group-prepend .wizard > .actions a + .swal2-styled, .wizard > .actions .swal2-modal .swal2-buttonswrapper .input-group-prepend a + .swal2-styled, .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled + .swal2-styled, .swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled + .swal2-styled, .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload + .btn, .input-group-prepend .ajax-upload-dragdrop .wizard > .actions .ajax-file-upload + a, .wizard > .actions .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload + a, .input-group-prepend .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled, .swal2-modal .swal2-buttonswrapper .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload + .swal2-styled, .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload + .btn, .ajax-upload-dragdrop .input-group-prepend .wizard > .actions .ajax-file-upload + a, .wizard > .actions .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload + a, .ajax-upload-dragdrop .input-group-prepend .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled, .swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload + .swal2-styled, .input-group-prepend .ajax-upload-dragdrop .btn + .ajax-file-upload, .input-group-prepend .ajax-upload-dragdrop .wizard > .actions a + .ajax-file-upload, .wizard > .actions .input-group-prepend .ajax-upload-dragdrop a + .ajax-file-upload, .input-group-prepend .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload, .swal2-modal .swal2-buttonswrapper .input-group-prepend .ajax-upload-dragdrop .swal2-styled + .ajax-file-upload, .ajax-upload-dragdrop .input-group-prepend .btn + .ajax-file-upload, .ajax-upload-dragdrop .input-group-prepend .wizard > .actions a + .ajax-file-upload, .wizard > .actions .ajax-upload-dragdrop .input-group-prepend a + .ajax-file-upload, .ajax-upload-dragdrop .input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload, .swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .input-group-prepend .swal2-styled + .ajax-file-upload, .input-group-prepend .ajax-upload-dragdrop .ajax-file-upload + .ajax-file-upload, .ajax-upload-dragdrop .input-group-prepend .ajax-file-upload + .ajax-file-upload, .asColorPicker-trigger .btn + .btn, .asColorPicker-trigger .wizard > .actions a + .btn, .wizard > .actions .asColorPicker-trigger a + .btn, .asColorPicker-trigger .wizard > .actions .btn + a, .wizard > .actions .asColorPicker-trigger .btn + a, .asColorPicker-trigger .wizard > .actions a + a, .wizard > .actions .asColorPicker-trigger a + a, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled + .btn, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .wizard > .actions .swal2-styled + a, .wizard > .actions .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled + a, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled + .btn, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .wizard > .actions .swal2-styled + a, .wizard > .actions .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled + a, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .btn + .swal2-styled, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .wizard > .actions a + .swal2-styled, .wizard > .actions .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper a + .swal2-styled, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .btn + .swal2-styled, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .wizard > .actions a + .swal2-styled, .wizard > .actions .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger a + .swal2-styled, .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled + .swal2-styled, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled + .swal2-styled, .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload + .btn, .asColorPicker-trigger .ajax-upload-dragdrop .wizard > .actions .ajax-file-upload + a, .wizard > .actions .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload + a, .asColorPicker-trigger .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload + .swal2-styled, .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload + .btn, .ajax-upload-dragdrop .asColorPicker-trigger .wizard > .actions .ajax-file-upload + a, .wizard > .actions .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload + a, .ajax-upload-dragdrop .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled, .swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload + .swal2-styled, .asColorPicker-trigger .ajax-upload-dragdrop .btn + .ajax-file-upload, .asColorPicker-trigger .ajax-upload-dragdrop .wizard > .actions a + .ajax-file-upload, .wizard > .actions .asColorPicker-trigger .ajax-upload-dragdrop a + .ajax-file-upload, .asColorPicker-trigger .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload, .swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .ajax-upload-dragdrop .swal2-styled + .ajax-file-upload, .ajax-upload-dragdrop .asColorPicker-trigger .btn + .ajax-file-upload, .ajax-upload-dragdrop .asColorPicker-trigger .wizard > .actions a + .ajax-file-upload, .wizard > .actions .ajax-upload-dragdrop .asColorPicker-trigger a + .ajax-file-upload, .ajax-upload-dragdrop .asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload, .swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .asColorPicker-trigger .swal2-styled + .ajax-file-upload, .asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload + .ajax-file-upload, .ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload + .ajax-file-upload,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .wizard > .actions a + .input-group-text,
.wizard > .actions .input-group-prepend a + .input-group-text,
.input-group-prepend .swal2-modal .swal2-buttonswrapper .swal2-styled + .input-group-text,
.swal2-modal .swal2-buttonswrapper .input-group-prepend .swal2-styled + .input-group-text,
.input-group-prepend .ajax-upload-dragdrop .ajax-file-upload + .input-group-text,
.ajax-upload-dragdrop .input-group-prepend .ajax-file-upload + .input-group-text,
.asColorPicker-trigger .btn + .input-group-text,
.asColorPicker-trigger .wizard > .actions a + .input-group-text,
.wizard > .actions .asColorPicker-trigger a + .input-group-text,
.asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .swal2-styled + .input-group-text,
.swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .swal2-styled + .input-group-text,
.asColorPicker-trigger .ajax-upload-dragdrop .ajax-file-upload + .input-group-text,
.ajax-upload-dragdrop .asColorPicker-trigger .ajax-file-upload + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.asColorPicker-trigger .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-prepend .wizard > .actions .input-group-text + a,
.wizard > .actions .input-group-prepend .input-group-text + a,
.input-group-prepend .swal2-modal .swal2-buttonswrapper .input-group-text + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-prepend .input-group-text + .swal2-styled,
.input-group-prepend .ajax-upload-dragdrop .input-group-text + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-prepend .input-group-text + .ajax-file-upload,
.asColorPicker-trigger .input-group-text + .btn,
.asColorPicker-trigger .wizard > .actions .input-group-text + a,
.wizard > .actions .asColorPicker-trigger .input-group-text + a,
.asColorPicker-trigger .swal2-modal .swal2-buttonswrapper .input-group-text + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .asColorPicker-trigger .input-group-text + .swal2-styled,
.asColorPicker-trigger .ajax-upload-dragdrop .input-group-text + .ajax-file-upload,
.ajax-upload-dragdrop .asColorPicker-trigger .input-group-text + .ajax-file-upload,
.input-group-append .btn + .btn,
.input-group-append .wizard > .actions a + .btn,
.wizard > .actions .input-group-append a + .btn,
.input-group-append .wizard > .actions .btn + a,
.wizard > .actions .input-group-append .btn + a,
.input-group-append .wizard > .actions a + a,
.wizard > .actions .input-group-append a + a,
.input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled + .btn,
.input-group-append .swal2-modal .swal2-buttonswrapper .wizard > .actions .swal2-styled + a,
.wizard > .actions .input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled + a,
.swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled + .btn,
.swal2-modal .swal2-buttonswrapper .input-group-append .wizard > .actions .swal2-styled + a,
.wizard > .actions .swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled + a,
.input-group-append .swal2-modal .swal2-buttonswrapper .btn + .swal2-styled,
.input-group-append .swal2-modal .swal2-buttonswrapper .wizard > .actions a + .swal2-styled,
.wizard > .actions .input-group-append .swal2-modal .swal2-buttonswrapper a + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .btn + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .wizard > .actions a + .swal2-styled,
.wizard > .actions .swal2-modal .swal2-buttonswrapper .input-group-append a + .swal2-styled,
.input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled + .swal2-styled,
.input-group-append .ajax-upload-dragdrop .ajax-file-upload + .btn,
.input-group-append .ajax-upload-dragdrop .wizard > .actions .ajax-file-upload + a,
.wizard > .actions .input-group-append .ajax-upload-dragdrop .ajax-file-upload + a,
.input-group-append .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .ajax-upload-dragdrop .ajax-file-upload + .swal2-styled,
.ajax-upload-dragdrop .input-group-append .ajax-file-upload + .btn,
.ajax-upload-dragdrop .input-group-append .wizard > .actions .ajax-file-upload + a,
.wizard > .actions .ajax-upload-dragdrop .input-group-append .ajax-file-upload + a,
.ajax-upload-dragdrop .input-group-append .swal2-modal .swal2-buttonswrapper .ajax-file-upload + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .input-group-append .ajax-file-upload + .swal2-styled,
.input-group-append .ajax-upload-dragdrop .btn + .ajax-file-upload,
.input-group-append .ajax-upload-dragdrop .wizard > .actions a + .ajax-file-upload,
.wizard > .actions .input-group-append .ajax-upload-dragdrop a + .ajax-file-upload,
.input-group-append .ajax-upload-dragdrop .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload,
.swal2-modal .swal2-buttonswrapper .input-group-append .ajax-upload-dragdrop .swal2-styled + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .btn + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .wizard > .actions a + .ajax-file-upload,
.wizard > .actions .ajax-upload-dragdrop .input-group-append a + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled + .ajax-file-upload,
.swal2-modal .swal2-buttonswrapper .ajax-upload-dragdrop .input-group-append .swal2-styled + .ajax-file-upload,
.input-group-append .ajax-upload-dragdrop .ajax-file-upload + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .ajax-file-upload + .ajax-file-upload,
.input-group-append .btn + .input-group-text,
.input-group-append .wizard > .actions a + .input-group-text,
.wizard > .actions .input-group-append a + .input-group-text,
.input-group-append .swal2-modal .swal2-buttonswrapper .swal2-styled + .input-group-text,
.swal2-modal .swal2-buttonswrapper .input-group-append .swal2-styled + .input-group-text,
.input-group-append .ajax-upload-dragdrop .ajax-file-upload + .input-group-text,
.ajax-upload-dragdrop .input-group-append .ajax-file-upload + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn,
.input-group-append .wizard > .actions .input-group-text + a,
.wizard > .actions .input-group-append .input-group-text + a,
.input-group-append .swal2-modal .swal2-buttonswrapper .input-group-text + .swal2-styled,
.swal2-modal .swal2-buttonswrapper .input-group-append .input-group-text + .swal2-styled,
.input-group-append .ajax-upload-dragdrop .input-group-text + .ajax-file-upload,
.ajax-upload-dragdrop .input-group-append .input-group-text + .ajax-file-upload {
  margin-left: -1px;
}

.input-group-prepend, .asColorPicker-trigger {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.56rem 1.375rem;
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 2px;
}
.input-group-text input[type=radio],
.input-group-text input[type=checkbox] {
  margin-top: 0;
}

.input-group-lg > .form-control:not(textarea), .input-group-lg > .tt-hint:not(textarea),
.input-group-lg > .tt-query:not(textarea),
.input-group-lg > .typeahead:not(textarea), .select2-container--default .select2-selection--single .input-group-lg > .select2-search__field:not(textarea), .select2-container--default .input-group-lg > .select2-selection--single:not(textarea), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > input[type=number]:not(textarea), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > input[type=text]:not(textarea),
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > select:not(textarea), .dataTables_wrapper .input-group-lg > select:not(textarea), .input-group-lg > .asColorPicker-input:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control, .input-group-lg > .tt-hint,
.input-group-lg > .tt-query,
.input-group-lg > .typeahead, .select2-container--default .select2-selection--single .input-group-lg > .select2-search__field, .select2-container--default .input-group-lg > .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group-lg > select, .dataTables_wrapper .input-group-lg > select, .input-group-lg > .asColorPicker-input,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .asColorPicker-trigger > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.wizard > .actions .input-group-lg > .input-group-prepend > a,
.swal2-modal .swal2-buttonswrapper .input-group-lg > .input-group-prepend > .swal2-styled,
.ajax-upload-dragdrop .input-group-lg > .input-group-prepend > .ajax-file-upload,
.input-group-lg > .asColorPicker-trigger > .btn,
.wizard > .actions .input-group-lg > .asColorPicker-trigger > a,
.swal2-modal .swal2-buttonswrapper .input-group-lg > .asColorPicker-trigger > .swal2-styled,
.ajax-upload-dragdrop .input-group-lg > .asColorPicker-trigger > .ajax-file-upload,
.input-group-lg > .input-group-append > .btn,
.wizard > .actions .input-group-lg > .input-group-append > a,
.swal2-modal .swal2-buttonswrapper .input-group-lg > .input-group-append > .swal2-styled,
.ajax-upload-dragdrop .input-group-lg > .input-group-append > .ajax-file-upload {
  padding: 0.94rem 1.94rem;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea), .input-group-sm > .tt-hint:not(textarea),
.input-group-sm > .tt-query:not(textarea),
.input-group-sm > .typeahead:not(textarea), .select2-container--default .select2-selection--single .input-group-sm > .select2-search__field:not(textarea), .select2-container--default .input-group-sm > .select2-selection--single:not(textarea), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > input[type=number]:not(textarea), .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > input[type=text]:not(textarea),
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > select:not(textarea), .dataTables_wrapper .input-group-sm > select:not(textarea), .input-group-sm > .asColorPicker-input:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control, .input-group-sm > .tt-hint,
.input-group-sm > .tt-query,
.input-group-sm > .typeahead, .select2-container--default .select2-selection--single .input-group-sm > .select2-search__field, .select2-container--default .input-group-sm > .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row .input-group-sm > select, .dataTables_wrapper .input-group-sm > select, .input-group-sm > .asColorPicker-input,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .asColorPicker-trigger > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.wizard > .actions .input-group-sm > .input-group-prepend > a,
.swal2-modal .swal2-buttonswrapper .input-group-sm > .input-group-prepend > .swal2-styled,
.ajax-upload-dragdrop .input-group-sm > .input-group-prepend > .ajax-file-upload,
.input-group-sm > .asColorPicker-trigger > .btn,
.wizard > .actions .input-group-sm > .asColorPicker-trigger > a,
.swal2-modal .swal2-buttonswrapper .input-group-sm > .asColorPicker-trigger > .swal2-styled,
.ajax-upload-dragdrop .input-group-sm > .asColorPicker-trigger > .ajax-file-upload,
.input-group-sm > .input-group-append > .btn,
.wizard > .actions .input-group-sm > .input-group-append > a,
.swal2-modal .swal2-buttonswrapper .input-group-sm > .input-group-append > .swal2-styled,
.ajax-upload-dragdrop .input-group-sm > .input-group-append > .ajax-file-upload {
  padding: 0.5rem 0.81rem;
  font-size: 0.875rem;
  line-height: 1;
  border-radius: 0.2rem;
}

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

.input-group > .input-group-prepend > .btn, .wizard > .actions .input-group > .input-group-prepend > a, .swal2-modal .swal2-buttonswrapper .input-group > .input-group-prepend > .swal2-styled, .ajax-upload-dragdrop .input-group > .input-group-prepend > .ajax-file-upload, .asColorPicker-wrap > .input-group-prepend > .btn, .wizard > .actions .asColorPicker-wrap > .input-group-prepend > a, .swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .input-group-prepend > .swal2-styled, .ajax-upload-dragdrop .asColorPicker-wrap > .input-group-prepend > .ajax-file-upload, .input-group > .asColorPicker-trigger > .btn, .wizard > .actions .input-group > .asColorPicker-trigger > a, .swal2-modal .swal2-buttonswrapper .input-group > .asColorPicker-trigger > .swal2-styled, .ajax-upload-dragdrop .input-group > .asColorPicker-trigger > .ajax-file-upload, .asColorPicker-wrap > .asColorPicker-trigger > .btn, .wizard > .actions .asColorPicker-wrap > .asColorPicker-trigger > a, .swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .asColorPicker-trigger > .swal2-styled, .ajax-upload-dragdrop .asColorPicker-wrap > .asColorPicker-trigger > .ajax-file-upload,
.input-group > .input-group-prepend > .input-group-text,
.asColorPicker-wrap > .input-group-prepend > .input-group-text,
.input-group > .asColorPicker-trigger > .input-group-text,
.asColorPicker-wrap > .asColorPicker-trigger > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.wizard > .actions .input-group:not(.has-validation) > .input-group-append:not(:last-child) > a,
.swal2-modal .swal2-buttonswrapper .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .swal2-styled,
.ajax-upload-dragdrop .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .ajax-file-upload,
.asColorPicker-wrap:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.wizard > .actions .asColorPicker-wrap:not(.has-validation) > .input-group-append:not(:last-child) > a,
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap:not(.has-validation) > .input-group-append:not(:last-child) > .swal2-styled,
.ajax-upload-dragdrop .asColorPicker-wrap:not(.has-validation) > .input-group-append:not(:last-child) > .ajax-file-upload,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.asColorPicker-wrap:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn,
.wizard > .actions .input-group.has-validation > .input-group-append:nth-last-child(n+3) > a,
.swal2-modal .swal2-buttonswrapper .input-group.has-validation > .input-group-append:nth-last-child(n+3) > .swal2-styled,
.ajax-upload-dragdrop .input-group.has-validation > .input-group-append:nth-last-child(n+3) > .ajax-file-upload,
.has-validation.asColorPicker-wrap > .input-group-append:nth-last-child(n+3) > .btn,
.wizard > .actions .has-validation.asColorPicker-wrap > .input-group-append:nth-last-child(n+3) > a,
.swal2-modal .swal2-buttonswrapper .has-validation.asColorPicker-wrap > .input-group-append:nth-last-child(n+3) > .swal2-styled,
.ajax-upload-dragdrop .has-validation.asColorPicker-wrap > .input-group-append:nth-last-child(n+3) > .ajax-file-upload,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .input-group-text,
.has-validation.asColorPicker-wrap > .input-group-append:nth-last-child(n+3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.wizard > .actions .input-group > .input-group-append:last-child > a:not(:last-child):not(.dropdown-toggle),
.swal2-modal .swal2-buttonswrapper .input-group > .input-group-append:last-child > .swal2-styled:not(:last-child):not(.dropdown-toggle),
.ajax-upload-dragdrop .input-group > .input-group-append:last-child > .ajax-file-upload:not(:last-child):not(.dropdown-toggle),
.asColorPicker-wrap > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.wizard > .actions .asColorPicker-wrap > .input-group-append:last-child > a:not(:last-child):not(.dropdown-toggle),
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .input-group-append:last-child > .swal2-styled:not(:last-child):not(.dropdown-toggle),
.ajax-upload-dragdrop .asColorPicker-wrap > .input-group-append:last-child > .ajax-file-upload:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child),
.asColorPicker-wrap > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn, .wizard > .actions .input-group > .input-group-append > a, .swal2-modal .swal2-buttonswrapper .input-group > .input-group-append > .swal2-styled, .ajax-upload-dragdrop .input-group > .input-group-append > .ajax-file-upload, .asColorPicker-wrap > .input-group-append > .btn, .wizard > .actions .asColorPicker-wrap > .input-group-append > a, .swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .input-group-append > .swal2-styled, .ajax-upload-dragdrop .asColorPicker-wrap > .input-group-append > .ajax-file-upload,
.input-group > .input-group-append > .input-group-text,
.asColorPicker-wrap > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.wizard > .actions .input-group > .input-group-prepend:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .input-group > .input-group-prepend:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .input-group > .input-group-prepend:not(:first-child) > .ajax-file-upload,
.asColorPicker-wrap > .input-group-prepend:not(:first-child) > .btn,
.wizard > .actions .asColorPicker-wrap > .input-group-prepend:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .input-group-prepend:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .asColorPicker-wrap > .input-group-prepend:not(:first-child) > .ajax-file-upload,
.input-group > .asColorPicker-trigger:not(:first-child) > .btn,
.wizard > .actions .input-group > .asColorPicker-trigger:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .input-group > .asColorPicker-trigger:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .input-group > .asColorPicker-trigger:not(:first-child) > .ajax-file-upload,
.asColorPicker-wrap > .asColorPicker-trigger:not(:first-child) > .btn,
.wizard > .actions .asColorPicker-wrap > .asColorPicker-trigger:not(:first-child) > a,
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .asColorPicker-trigger:not(:first-child) > .swal2-styled,
.ajax-upload-dragdrop .asColorPicker-wrap > .asColorPicker-trigger:not(:first-child) > .ajax-file-upload,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.asColorPicker-wrap > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .asColorPicker-trigger:not(:first-child) > .input-group-text,
.asColorPicker-wrap > .asColorPicker-trigger:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.wizard > .actions .input-group > .input-group-prepend:first-child > a:not(:first-child),
.swal2-modal .swal2-buttonswrapper .input-group > .input-group-prepend:first-child > .swal2-styled:not(:first-child),
.ajax-upload-dragdrop .input-group > .input-group-prepend:first-child > .ajax-file-upload:not(:first-child),
.asColorPicker-wrap > .input-group-prepend:first-child > .btn:not(:first-child),
.wizard > .actions .asColorPicker-wrap > .input-group-prepend:first-child > a:not(:first-child),
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .input-group-prepend:first-child > .swal2-styled:not(:first-child),
.ajax-upload-dragdrop .asColorPicker-wrap > .input-group-prepend:first-child > .ajax-file-upload:not(:first-child),
.input-group > .asColorPicker-trigger:first-child > .btn:not(:first-child),
.wizard > .actions .input-group > .asColorPicker-trigger:first-child > a:not(:first-child),
.swal2-modal .swal2-buttonswrapper .input-group > .asColorPicker-trigger:first-child > .swal2-styled:not(:first-child),
.ajax-upload-dragdrop .input-group > .asColorPicker-trigger:first-child > .ajax-file-upload:not(:first-child),
.asColorPicker-wrap > .asColorPicker-trigger:first-child > .btn:not(:first-child),
.wizard > .actions .asColorPicker-wrap > .asColorPicker-trigger:first-child > a:not(:first-child),
.swal2-modal .swal2-buttonswrapper .asColorPicker-wrap > .asColorPicker-trigger:first-child > .swal2-styled:not(:first-child),
.ajax-upload-dragdrop .asColorPicker-wrap > .asColorPicker-trigger:first-child > .ajax-file-upload:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),
.asColorPicker-wrap > .input-group-prepend:first-child > .input-group-text:not(:first-child),
.input-group > .asColorPicker-trigger:first-child > .input-group-text:not(:first-child),
.asColorPicker-wrap > .asColorPicker-trigger:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #007bff;
  background-color: #007bff;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #80bdff;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: 1px solid #adb5bd;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50%/50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-switch {
  padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 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) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
}

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
}

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #007bff;
  border: 0;
  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;
  -webkit-appearance: none;
          appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  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;
  -moz-appearance: none;
       appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  -ms-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;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    -ms-transition: none;
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  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) {
  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  background-color: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: #e9ecef #e9ecef #dee2e6;
}
.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.25rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff;
}

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

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

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50%/100% 100% no-repeat;
}

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid,
  .navbar-expand-sm > .container-sm,
  .navbar-expand-sm > .container-md,
  .navbar-expand-sm > .container-lg,
  .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row 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: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid,
  .navbar-expand-sm > .container-sm,
  .navbar-expand-sm > .container-md,
  .navbar-expand-sm > .container-lg,
  .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .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;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid,
  .navbar-expand-md > .container-sm,
  .navbar-expand-md > .container-md,
  .navbar-expand-md > .container-lg,
  .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row 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: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid,
  .navbar-expand-md > .container-sm,
  .navbar-expand-md > .container-md,
  .navbar-expand-md > .container-lg,
  .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .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;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid,
  .navbar-expand-lg > .container-sm,
  .navbar-expand-lg > .container-md,
  .navbar-expand-lg > .container-lg,
  .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row 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: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid,
  .navbar-expand-lg > .container-sm,
  .navbar-expand-lg > .container-md,
  .navbar-expand-lg > .container-lg,
  .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .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;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid,
  .navbar-expand-xl > .container-sm,
  .navbar-expand-xl > .container-md,
  .navbar-expand-xl > .container-lg,
  .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row 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: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid,
  .navbar-expand-xl > .container-sm,
  .navbar-expand-xl > .container-md,
  .navbar-expand-xl > .container-lg,
  .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .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 {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: #202339;
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: #202339;
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: #202339;
}
.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}
.navbar-dark .navbar-text a {
  color: #fff;
}
.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid #f2f2f2;
  border-radius: 1px;
}
.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: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

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

.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid #f2f2f2;
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid #f2f2f2;
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px);
}

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

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group > .card {
  margin-bottom: 15px;
}
@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-top-right-radius: 0;
    border-bottom-right-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-top-left-radius: 0;
    border-bottom-left-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;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    -moz-column-count: 3;
         column-count: 3;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.56rem 1.13rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  list-style: none;
  background-color: transparent;
  border-radius: 0.25rem;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: ">";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #495057;
}

.pagination, .jsgrid .jsgrid-pager {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem;
}

.page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .jsgrid-pager .jsgrid-pager-page a {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6;
}
.page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page a:hover {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.page-link:focus, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:focus,
.jsgrid .jsgrid-pager .jsgrid-pager-page a:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-item:first-child .page-link, .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item:first-child a,
.page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item:first-child a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a,
.jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link, .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item:last-child a,
.page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item:last-child a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a,
.jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link, .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item.active a,
.page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item.active a, .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a,
.jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .active.jsgrid-pager-page a {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.page-item.disabled .page-link, .page-item.disabled .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item.disabled a,
.page-item.disabled .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item.disabled a, .jsgrid .jsgrid-pager .disabled.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .disabled.jsgrid-pager-nav-button a,
.jsgrid .jsgrid-pager .disabled.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .disabled.jsgrid-pager-page a {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link, .pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-lg a,
.pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-lg a {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link, .pagination-lg .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-lg .page-item:first-child a,
.pagination-lg .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-lg .page-item:first-child a, .pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a, .jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-nav-button:first-child a,
.pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a,
.jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-page:first-child a {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link, .pagination-lg .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-lg .page-item:last-child a,
.pagination-lg .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-lg .page-item:last-child a, .pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a, .jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-nav-button:last-child a,
.pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.pagination-lg .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a,
.jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .pagination-lg .jsgrid-pager-page:last-child a {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link, .pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-sm a,
.pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-sm a {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link, .pagination-sm .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-sm .page-item:first-child a,
.pagination-sm .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-sm .page-item:first-child a, .pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a, .jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-nav-button:first-child a,
.pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a,
.jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-page:first-child a {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link, .pagination-sm .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-sm .page-item:last-child a,
.pagination-sm .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-sm .page-item:last-child a, .pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a, .jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-nav-button:last-child a,
.pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.pagination-sm .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a,
.jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .pagination-sm .jsgrid-pager-page:last-child a {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  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) {
  .badge {
    transition: none;
  }
}
a.badge:hover, a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge, .wizard > .actions a .badge, .swal2-modal .swal2-buttonswrapper .swal2-styled .badge, .ajax-upload-dragdrop .ajax-file-upload .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #439aff;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #107fff;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 154, 255, 0.5);
}

.badge-secondary {
  color: #212529;
  background-color: #fdbab1;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: #212529;
  background-color: #fc8e7f;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(253, 186, 177, 0.5);
}

.badge-success, .preview-list .preview-item .preview-thumbnail .badge.badge-online {
  color: #212529;
  background-color: #7ed321;
}
a.badge-success:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:hover, a.badge-success:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:focus {
  color: #212529;
  background-color: #64a71a;
}
a.badge-success:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-online:focus, a.badge-success.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-online {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(126, 211, 33, 0.5);
}

.badge-info, .preview-list .preview-item .preview-thumbnail .badge.badge-offline {
  color: #fff;
  background-color: #4729b7;
}
a.badge-info:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:hover, a.badge-info:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:focus {
  color: #fff;
  background-color: #37208d;
}
a.badge-info:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-offline:focus, a.badge-info.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-offline {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(71, 41, 183, 0.5);
}

.badge-warning, .preview-list .preview-item .preview-thumbnail .badge.badge-busy {
  color: #212529;
  background-color: #f5a623;
}
a.badge-warning:hover, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:hover, a.badge-warning:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:focus {
  color: #212529;
  background-color: #db8c0a;
}
a.badge-warning:focus, .preview-list .preview-item .preview-thumbnail a.badge.badge-busy:focus, a.badge-warning.focus, .preview-list .preview-item .preview-thumbnail a.focus.badge.badge-busy {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(245, 166, 35, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #ff5e5e;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #ff2b2b;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 94, 94, 0.5);
}

.badge-light {
  color: #212529;
  background-color: #f3f5f6;
}
a.badge-light:hover, a.badge-light:focus {
  color: #212529;
  background-color: #d6dde0;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(243, 245, 246, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #090e40;
}
a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #030413;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(9, 14, 64, 0.5);
}

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}
@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #235085;
  background-color: #d9ebff;
  border-color: #cae3ff;
}
.alert-primary hr {
  border-top-color: #b1d6ff;
}
.alert-primary .alert-link {
  color: #18385d;
}

.alert-secondary {
  color: #84615c;
  background-color: #fff1ef;
  border-color: #feece9;
}
.alert-secondary hr {
  border-top-color: #fdd7d1;
}
.alert-secondary .alert-link {
  color: #664b47;
}

.alert-success {
  color: #426e11;
  background-color: #e5f6d3;
  border-color: #dbf3c1;
}
.alert-success hr {
  border-top-color: #cfefac;
}
.alert-success .alert-link {
  color: #27420a;
}

.alert-info {
  color: #25155f;
  background-color: #dad4f1;
  border-color: #cbc3eb;
}
.alert-info hr {
  border-top-color: #bab0e5;
}
.alert-info .alert-link {
  color: #150c35;
}

.alert-warning {
  color: #7f5612;
  background-color: #fdedd3;
  border-color: #fce6c1;
}
.alert-warning hr {
  border-top-color: #fbdca9;
}
.alert-warning .alert-link {
  color: #52380c;
}

.alert-danger {
  color: #853131;
  background-color: #ffdfdf;
  border-color: #ffd2d2;
}
.alert-danger hr {
  border-top-color: #ffb9b9;
}
.alert-danger .alert-link {
  color: #602323;
}

.alert-light {
  color: #7e7f80;
  background-color: #fdfdfd;
  border-color: #fcfcfc;
}
.alert-light hr {
  border-top-color: #efefef;
}
.alert-light .alert-link {
  color: #656666;
}

.alert-dark {
  color: #050721;
  background-color: #cecfd9;
  border-color: #babcca;
}
.alert-dark hr {
  border-top-color: #acaebf;
}
.alert-dark .alert-link {
  color: black;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}
@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: 1rem 1rem;
}

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

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}
.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.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: #6c757d;
  pointer-events: none;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-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: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-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: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-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: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-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: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #235085;
  background-color: #cae3ff;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #235085;
  background-color: #b1d6ff;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #235085;
  border-color: #235085;
}

.list-group-item-secondary {
  color: #84615c;
  background-color: #feece9;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #84615c;
  background-color: #fdd7d1;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #84615c;
  border-color: #84615c;
}

.list-group-item-success {
  color: #426e11;
  background-color: #dbf3c1;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #426e11;
  background-color: #cfefac;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #426e11;
  border-color: #426e11;
}

.list-group-item-info {
  color: #25155f;
  background-color: #cbc3eb;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #25155f;
  background-color: #bab0e5;
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #25155f;
  border-color: #25155f;
}

.list-group-item-warning {
  color: #7f5612;
  background-color: #fce6c1;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #7f5612;
  background-color: #fbdca9;
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #7f5612;
  border-color: #7f5612;
}

.list-group-item-danger {
  color: #853131;
  background-color: #ffd2d2;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #853131;
  background-color: #ffb9b9;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #853131;
  border-color: #853131;
}

.list-group-item-light {
  color: #7e7f80;
  background-color: #fcfcfc;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #7e7f80;
  background-color: #efefef;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #7e7f80;
  border-color: #7e7f80;
}

.list-group-item-dark {
  color: #050721;
  background-color: #babcca;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #050721;
  background-color: #acaebf;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #050721;
  border-color: #050721;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.4s ease;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 20px);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 20px);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 20px);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 20px);
  height: -moz-min-content;
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #f0f2f7;
  background-clip: padding-box;
  border: 1px solid #f2f2f2;
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #f2f2f2;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -25px -26px -25px auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 2.5rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 2.25rem;
  border-top: 1px solid #f2f2f2;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 30px auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 60px);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 60px);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 60px);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 60px);
    height: -moz-min-content;
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 90%;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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: 0.75rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 0;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #090e40;
}

.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #090e40;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 0;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #090e40;
}

.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #090e40;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.4rem 0.75rem;
  color: #fff;
  text-align: center;
  background-color: #090e40;
  border-radius: 0.375rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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: 0.875rem;
  word-wrap: break-word;
  background-color: #f1f6ff;
  background-clip: padding-box;
  border: 1px solid #f2f2f2;
  border-radius: 0.3rem;
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^=top] {
  margin-bottom: 0.5rem;
}
.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #f2f2f2;
}
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #f1f6ff;
}

.bs-popover-right, .bs-popover-auto[x-placement^=right] {
  margin-left: 0.5rem;
}
.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #f2f2f2;
}
.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #f1f6ff;
}

.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
  margin-top: 0.5rem;
}
.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow {
  top: calc(-0.5rem - 1px);
}
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #f2f2f2;
}
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #f1f6ff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f1f6ff;
}

.bs-popover-left, .bs-popover-auto[x-placement^=left] {
  margin-right: 0.5rem;
}
.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}
.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #f2f2f2;
}
.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #f1f6ff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f1f6ff;
  border-bottom: 1px solid #d8e6ff;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529;
}

.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-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  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-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    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;
  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: 20px;
  height: 20px;
  background: 50%/100% 100% no-repeat;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  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 li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

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

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

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

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}
.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;
}

.bg-primary {
  background-color: #439aff !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #107fff !important;
}

.bg-secondary {
  background-color: #fdbab1 !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #fc8e7f !important;
}

.bg-success {
  background-color: #7ed321 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #64a71a !important;
}

.bg-info {
  background-color: #4729b7 !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #37208d !important;
}

.bg-warning {
  background-color: #f5a623 !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #db8c0a !important;
}

.bg-danger {
  background-color: #ff5e5e !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #ff2b2b !important;
}

.bg-light {
  background-color: #f3f5f6 !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #d6dde0 !important;
}

.bg-dark {
  background-color: #090e40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #030413 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border, .loader-demo-box {
  border: 1px solid #f2f2f2 !important;
}

.border-top {
  border-top: 1px solid #f2f2f2 !important;
}

.border-right {
  border-right: 1px solid #f2f2f2 !important;
}

.border-bottom {
  border-bottom: 1px solid #f2f2f2 !important;
}

.border-left {
  border-left: 1px solid #f2f2f2 !important;
}

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

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #439aff !important;
}

.border-secondary, .loader-demo-box {
  border-color: #fdbab1 !important;
}

.border-success {
  border-color: #7ed321 !important;
}

.border-info {
  border-color: #4729b7 !important;
}

.border-warning {
  border-color: #f5a623 !important;
}

.border-danger {
  border-color: #ff5e5e !important;
}

.border-light {
  border-color: #f3f5f6 !important;
}

.border-dark {
  border-color: #090e40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded, .loader-demo-box {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

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

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

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

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

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

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex, .swal2-modal, .lightGallery .image-tile .demo-gallery-poster, .email-wrapper .message-body .attachments-sections ul li .details .buttons, .email-wrapper .message-body .attachments-sections ul li .thumb, .email-wrapper .mail-list-container .mail-list .details, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a, .list-wrapper ul li, .new-accounts ul.chats li.chat-persons a div.user, .new-accounts ul.chats li.chat-persons a, .earning-report-legend ul li, .loader-demo-box, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item {
  display: flex !important;
}

.d-inline-flex, .email-wrapper .message-body .attachments-sections ul li {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-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;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-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;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-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;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-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;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !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;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row, .email-wrapper .message-body .attachments-sections ul li, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav {
  flex-direction: row !important;
}

.flex-column, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user, .new-accounts ul.chats li.chat-persons a div.user {
  flex-direction: column !important;
}

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

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

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

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

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

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

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

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

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

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

.justify-content-start, .list-wrapper ul li {
  justify-content: flex-start !important;
}

.justify-content-end, .email-wrapper .mail-list-container .mail-list .details {
  justify-content: flex-end !important;
}

.justify-content-center, .email-wrapper .message-body .attachments-sections ul li .thumb {
  justify-content: center !important;
}

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

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

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

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

.align-items-center, .email-wrapper .message-body .attachments-sections ul li .details .buttons, .email-wrapper .message-body .attachments-sections ul li .thumb, .list-wrapper ul li, .new-accounts ul.chats li.chat-persons a, .earning-report-legend ul li, .loader-demo-box, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav {
  align-items: center !important;
}

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

.align-items-stretch, .email-wrapper .message-body .attachments-sections ul li {
  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;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .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;
  }
  .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;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .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;
  }
  .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;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .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;
  }
  .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;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .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;
  }
  .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;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !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;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !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;
}

.fixed-top, .navbar.horizontal-layout.fixed-on-scroll .nav-bottom {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

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

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

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

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

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

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

.ml-0, .rtl .list-wrapper .remove,
.mx-0 {
  margin-left: 0 !important;
}

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

.mt-1, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .editable-submit,
.my-1 {
  margin-top: 0.25rem !important;
}

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

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

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

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

.mt-2, .template-demo .circle-progress, .template-demo > .btn-group, .template-demo > .btn-toolbar, .template-demo > .btn, .wizard > .actions .template-demo > a, .swal2-modal .swal2-buttonswrapper .template-demo > .swal2-styled, .ajax-upload-dragdrop .template-demo > .ajax-file-upload,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2, .template-demo .dropdown, .template-demo > .btn-group, .template-demo > .btn-toolbar, .template-demo > .btn, .wizard > .actions .template-demo > a, .swal2-modal .swal2-buttonswrapper .template-demo > .swal2-styled, .ajax-upload-dragdrop .template-demo > .ajax-file-upload,
.mx-2 {
  margin-right: 0.5rem !important;
}

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

.ml-2, .btn-toolbar .btn-group + .btn-group,
.mx-2 {
  margin-left: 0.5rem !important;
}

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

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

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

.mb-3, .user-profile .side-left .card .avatar img, .template-demo .circle-progress-block,
.my-3 {
  margin-bottom: 1rem !important;
}

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

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

.mt-4, .user-profile .side-left .card .avatar img,
.my-4 {
  margin-top: 1.5rem !important;
}

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

.mb-4, .user-profile .side-left .card .overview .about-user,
.my-4 {
  margin-bottom: 1.5rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pr-2,
.px-2,
.template-demo .circle-progress-block {
  padding-right: 0.5rem !important;
}

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

.pl-2,
.px-2,
.template-demo .circle-progress-block {
  padding-left: 0.5rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

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

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

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

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

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

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

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

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

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

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

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

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

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

.mr-auto, .rtl .list-wrapper .remove,
.mx-auto {
  margin-right: auto !important;
}

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

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

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary, .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .category-heading {
  color: #439aff !important;
}

a.text-primary:hover, .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu a.category-heading:hover, a.text-primary:focus, .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu a.category-heading:focus {
  color: #0072f6 !important;
}

.text-secondary {
  color: #fdbab1 !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #fb7866 !important;
}

.text-success {
  color: #7ed321 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #569117 !important;
}

.text-info {
  color: #4729b7 !important;
}

a.text-info:hover, a.text-info:focus {
  color: #2f1b79 !important;
}

.text-warning {
  color: #f5a623 !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #c37d09 !important;
}

.text-danger, .list-wrapper .remove {
  color: #ff5e5e !important;
}

a.text-danger:hover, .list-wrapper a.remove:hover, a.text-danger:focus, .list-wrapper a.remove:focus {
  color: #ff1212 !important;
}

.text-light {
  color: #f3f5f6 !important;
}

a.text-light:hover, a.text-light:focus {
  color: #c7d1d5 !important;
}

.text-dark {
  color: #090e40 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: black !important;
}

.text-body {
  color: #000 !important;
}

.text-muted, .email-wrapper .mail-list-container .mail-list .details .date, .email-wrapper .mail-list-container .mail-list .content .message_text, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-designation, .preview-list .preview-item .preview-item-content p .content-category {
  color: #959595 !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid #000;
  }
  .table, .jsgrid .jsgrid-table {
    border-collapse: collapse !important;
  }
  .table td, .jsgrid .jsgrid-table td,
  .table th,
  .jsgrid .jsgrid-table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #f2f2f2;
  }
  .table .thead-dark th, .jsgrid .jsgrid-table .thead-dark th {
    color: inherit;
    border-color: #f2f2f2;
  }
}
/*-------------------------------------------------------------------*/
/* === Template mixins === */
/* Animation Mixins */
@keyframes dropdownAnimation {
  from {
    opacity: 0;
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
    transform: translate3d(0, 0px, 0);
  }
}
.dropdownAnimation, .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown {
  animation-name: dropdownAnimation;
  animation-duration: 0.25s;
  animation-fill-mode: both;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}

.infinite-spin {
  animation-name: spin;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

/* Navbar */ /* Miscellaneous Mixins */
.email-wrapper .message-body .attachments-sections ul li .details p.file-name, .email-wrapper .mail-list-container .mail-list .content .sender-name, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-designation, .email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-name, .list-wrapper ul li .form-check .form-check-label, .list-wrapper ul li .form-check, .new-accounts ul.chats li.chat-persons a div.user p.u-designation, .new-accounts ul.chats li.chat-persons a div.user p.u-name {
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
}

/*-------------------------------------------------------------------*/
/* === Core Styles === */
/* Reset Styles */
body {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

.form-control, .tt-hint,
.tt-query,
.typeahead, .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, .asColorPicker-input,
.form-control:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select:focus {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
}

.form-control, .tt-hint,
.tt-query,
.typeahead, .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, .asColorPicker-input {
  box-shadow: none;
}

.form-control:focus, .tt-hint:focus,
.tt-query:focus,
.typeahead:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select:focus, .dataTables_wrapper select:focus, .asColorPicker-input:focus {
  outline: 0;
  box-shadow: none;
}

a,
div,
h1,
h2,
h3,
h4,
h5,
p,
span {
  text-shadow: none;
}

[type=button]:focus,
a:active,
a:focus,
a:visited,
button::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
input[type=file] > input[type=button]::-moz-focus-inner,
input[type=reset]::-moz-focus-inner,
input[type=submit]::-moz-focus-inner,
select::-moz-focus-inner {
  outline: 0;
}

.form-control:focus, .tt-hint:focus,
.tt-query:focus,
.typeahead:focus, .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row select:focus, .asColorPicker-input:focus,
button:focus,
input,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  outline-width: 0;
  outline-color: transparent;
  box-shadow: none;
  outline-style: none;
}

textarea {
  resize: none;
  overflow-x: hidden;
}

.btn, .wizard > .actions a, .swal2-modal .swal2-buttonswrapper .swal2-styled, .ajax-upload-dragdrop .ajax-file-upload,
.btn-group.open .dropdown-toggle,
.btn:active,
.btn:focus,
.btn:hover,
.btn:visited,
a,
a:active,
a:checked,
a:focus,
a:hover,
a:visited,
body,
button,
button:active,
button:hover,
button:visited,
div,
input,
input:active,
input:focus,
input:hover,
input:visited,
select,
select:active,
select:focus,
select:visited,
textarea,
textarea:active,
textarea:focus,
textarea:hover,
textarea:visited {
  box-shadow: none;
}

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.wizard > .actions a.focus,
.swal2-modal .swal2-buttonswrapper .focus.swal2-styled,
.ajax-upload-dragdrop .focus.ajax-file-upload,
.btn:active.focus,
.btn:active:focus,
.btn:focus,
.wizard > .actions a:focus,
.swal2-modal .swal2-buttonswrapper .swal2-styled:focus,
.ajax-upload-dragdrop .ajax-file-upload:focus,
button,
button:active,
button:checked,
button:focus,
button:hover,
button:visited {
  outline: 0;
  outline-offset: 0;
}

.bootstrap-select .dropdown-toggle:focus {
  outline: 0;
  outline-offset: 0;
}

.dropdown-menu > li > a:active,
.dropdown-menu > li > a:focus,
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:visited {
  outline: 0;
}

a:focus,
input:focus {
  border-color: transparent;
  outline: none;
}

/*Fonts*/
@font-face {
  font-family: "Open Sans";
  src: url(/fonts/OpenSans-Light.woff2?2091bdb896d65876907a4bc1874ddb14) format("woff2"), url(/fonts/OpenSans-Light.woff?118737856e2ad919605cbcb601de257e) format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url(/fonts/OpenSans-Regular.woff2?9ffed65db527232e9a9d06211edb463f) format("woff2"), url(/fonts/OpenSans-Regular.woff?74fbb1368a3029d9e39a560a3d387e48) format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url(/fonts/OpenSans-SemiBold.woff2?117298bec81d6c8250dfcd2671f02ea0) format("woff2"), url(/fonts/OpenSans-SemiBold.woff?1232ba75e1255695995870f71fcaa958) format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url(/fonts/OpenSans-ExtraBold.woff2?88c519b23b7fee683e1c2aadabd82d94) format("woff2"), url(/fonts/OpenSans-ExtraBold.woff?239ddcdc34bde8220258d5634917f488) format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url(/fonts/OpenSans-Bold.woff2?bddf0720f99a7ee7f84e06e47d156747) format("woff2"), url(/fonts/OpenSans-Bold.woff?030f6a69f8156aef8382a1e74351ec7d) format("woff");
  font-weight: bold;
  font-style: normal;
}
.text-twitter {
  color: #1da1f2;
}

.text-facebook {
  color: #3b579d;
}

.text-google {
  color: #dc4a38;
}

.text-linkedin {
  color: #0177b4;
}

.text-pinterest {
  color: #cc2127;
}

.text-youtube {
  color: #e52d27;
}

.text-github {
  color: #333333;
}

.text-behance {
  color: #1769ff;
}

.text-dribbble {
  color: #ea4c89;
}

.text-reddit {
  color: #ff4500;
}

.bg-twitter {
  background: #1da1f2;
}

.bg-facebook {
  background: #3b579d;
}

.bg-google {
  background: #dc4a38;
}

.bg-linkedin {
  background: #0177b4;
}

.bg-pinterest {
  background: #cc2127;
}

.bg-youtube {
  background: #e52d27;
}

.bg-github {
  background: #333333;
}

.bg-behance {
  background: #1769ff;
}

.bg-dribbble {
  background: #ea4c89;
}

.bg-reddit {
  background: #ff4500;
}

/* Typography */
:root,
body {
  font-size: 1rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", sans-serif;
  line-height: 1;
  color: #090e40;
}

p {
  font-size: 0.875rem;
  font-weight: 400;
}

.h1,
h1 {
  font-size: 2.5rem;
  font-weight: 600;
}

.h2,
h2 {
  font-size: 1.875rem;
  font-weight: 600;
}

.h3,
h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

.h4,
h4 {
  font-size: 1.25rem;
  font-weight: 600;
}

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

.h6,
h6 {
  font-size: 1rem;
  font-weight: 600;
}

.display-1 {
  font-size: 3.75rem;
}
@media (max-width: 991px) {
  .display-1 {
    font-size: 3rem;
  }
}

.display-2 {
  font-size: 3.125rem;
}
@media (max-width: 991px) {
  .display-2 {
    font-size: 2.5rem;
  }
}

.display-3 {
  font-size: 2.5rem;
}
@media (max-width: 991px) {
  .display-3 {
    font-size: 2rem;
  }
}

.display-4 {
  font-size: 1.875rem;
}
@media (max-width: 991px) {
  .display-4 {
    font-size: 1.5rem;
  }
}

.display-5 {
  font-size: 1.25rem;
}
@media (max-width: 991px) {
  .display-5 {
    font-size: 1rem;
  }
}

.blockquote {
  padding: 1.25rem;
  border: 1px solid #f2f2f2;
}

address p {
  margin-bottom: 0;
}

.blockquote-primary {
  border-color: #439aff;
}
.blockquote-primary .blockquote-footer {
  color: #439aff;
}

.blockquote-secondary {
  border-color: #fdbab1;
}
.blockquote-secondary .blockquote-footer {
  color: #fdbab1;
}

.blockquote-success {
  border-color: #7ed321;
}
.blockquote-success .blockquote-footer {
  color: #7ed321;
}

.blockquote-info {
  border-color: #4729b7;
}
.blockquote-info .blockquote-footer {
  color: #4729b7;
}

.blockquote-warning {
  border-color: #f5a623;
}
.blockquote-warning .blockquote-footer {
  color: #f5a623;
}

.blockquote-danger {
  border-color: #ff5e5e;
}
.blockquote-danger .blockquote-footer {
  color: #ff5e5e;
}

.blockquote-light {
  border-color: #f3f5f6;
}
.blockquote-light .blockquote-footer {
  color: #f3f5f6;
}

.blockquote-dark {
  border-color: #090e40;
}
.blockquote-dark .blockquote-footer {
  color: #090e40;
}

.card-title {
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  color: #000000;
  font-weight: 600;
  font-size: 1.125rem;
}
.rtl .card-title {
  text-align: right;
}

.card-subtitle {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

.card-description {
  margin-bottom: 0.9375rem;
}
.rtl .card-description {
  text-align: right;
}

.font-weight-normal {
  font-weight: 400;
}

.font-weight-medium {
  font-weight: 500;
}

.font-weight-semibold {
  font-weight: 600;
}

.text-small {
  font-size: 0.75rem;
}

.icon-lg {
  font-size: 2.5rem;
}

.icon-md {
  font-size: 1.275rem;
}

.icon-sm {
  font-size: 1rem;
}

/* Miscellanoeous */
body,
html {
  overflow-x: hidden;
  padding-right: 0;
}

*:-moz-full-screen,
*:-webkit-full-screen,
*:fullscreen *:-ms-fullscreen {
  overflow: auto;
}

.page-body-wrapper {
  background: #f0f2f7;
  padding-left: 0;
  padding-right: 0;
}
.page-body-wrapper.full-page-wrapper {
  min-height: 100vh;
}
.page-body-wrapper.full-page-wrapper .content-wrapper {
  max-width: 100%;
}

@media (max-width: 991.98px) {
  .main-panel {
    padding-top: 60px;
  }
}

.content-wrapper {
  padding: 1.5rem 0;
  width: 100%;
  padding-right: 6px;
  padding-left: 6px;
  margin-right: auto;
  margin-left: auto;
  min-height: calc(100vh - 121px - 60px);
  flex-grow: 1;
}
@media (min-width: 576px) {
  .content-wrapper {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .content-wrapper {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .content-wrapper {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .content-wrapper {
    max-width: 1140px;
  }
}

.container-scroller {
  overflow: hidden;
}

.scroll-container {
  position: relative;
}
.scroll-container.horizontally {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}
.scroll-container.vertically {
  overflow-y: hidden;
  height: 100%;
  max-height: 100%;
}

pre {
  padding: 15px;
  font-size: 14px;
}

.fade.show, .fade.in {
  opacity: 1;
}

.page-header {
  margin: 0 0 1.125rem 0;
}
.page-header .page-title {
  color: #000;
  margin-bottom: 0;
}
.page-header .page-title .page-title-icon {
  background: #439aff;
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  text-align: center;
  box-shadow: 10px 8px 16px -6px rgba(36, 101, 247, 0.69);
  -webkit-box-shadow: 10px 8px 16px -6px rgba(36, 101, 247, 0.69);
  -moz-box-shadow: 10px 8px 16px -6px rgba(36, 101, 247, 0.69);
  margin-right: 1rem;
}
.page-header .page-title .page-title-icon i {
  line-height: 36px;
  color: #fff;
}
.page-header .btn-header-dropdown {
  border: 1px solid rgba(149, 149, 149, 0.2);
  color: #090e40;
}

.navbar.horizontal-layout {
  font-family: "Open Sans", sans-serif;
}
.navbar.horizontal-layout .nav-top {
  background: #090e40;
  height: 60px;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper {
  padding: 0 1rem 0 0;
}
@media (max-width: 767px) {
  .navbar.horizontal-layout .nav-top .navbar-brand-wrapper {
    padding: 0 1rem;
  }
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand {
  margin-right: 0;
  padding: 0.25rem 0;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand:active, .navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand:focus, .navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand:hover {
  color: #424546;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand img {
  max-width: 100%;
  height: 34px;
  margin: auto;
  vertical-align: middle;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo-mini {
  display: none;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo-mini img {
  width: auto;
  max-width: 100%;
  height: 28px;
  margin-left: 0;
}
@media (max-width: 767.98px) {
  .navbar.horizontal-layout .nav-top .navbar-brand-wrapper {
    width: 70px;
  }
  .navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo {
    display: none;
  }
  .navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo-mini {
    display: block;
  }
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper {
  color: #fff;
  padding: 0 0 0 1rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item {
  margin-left: 1rem;
  margin-right: 1rem;
  line-height: 1;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link {
  color: #c7c7c7;
  font-size: 14px;
  vertical-align: middle;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link.count-indicator {
  position: relative;
  text-align: center;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link.count-indicator i {
  color: #c7c7c7;
  vertical-align: middle;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link.count-indicator .count {
  position: absolute;
  left: 7px;
  width: 10px;
  height: 10px;
  line-height: 10px;
  border-radius: 100%;
  background: #439aff;
  top: 4px;
  font-size: 0.5625rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link.count-indicator:after {
  display: none;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item .nav-link i {
  font-size: 1rem;
  vertical-align: middle;
  line-height: 1.2;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown {
  font-size: 0.9rem;
  margin-top: 0;
  position: absolute;
  top: calc(60px - 6px);
  right: 0;
  left: auto;
  border: 0;
  padding: 0 0 20px;
  min-width: 100%;
  border-radius: 10px;
  box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  -webkit-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.rtl .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown {
  right: auto;
  left: 0;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown.dropdown-left {
  left: 0;
  right: auto;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .badge {
  margin-left: 2.5rem;
}
.rtl .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .badge {
  margin-left: 0;
  margin-right: 1.25rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item {
  margin-bottom: 0;
  padding: 10px 25px;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item i {
  font-size: 17px;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item .preview-subject {
  font-family: "Open Sans", sans-serif;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item .preview-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item .small-text {
  font-size: 0.75rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-divider {
  margin: 0;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown {
    position: static;
  }
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown {
    left: 10px;
    right: 10px;
    width: calc(100% - 20px);
    min-width: auto;
  }
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item.nav-profile .nav-link {
  padding: 0;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item.nav-profile img {
  width: 26px;
  height: 26px;
  border-radius: 0.25rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item.nav-profile .nav-profile-name {
  vertical-align: middle;
  color: #c7c7c7;
  margin-left: 0.25rem;
}
@media (max-width: 767px) {
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item.nav-profile .nav-profile-name {
    display: none;
  }
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item.nav-language .dropdown-toggle {
  border: 1px solid #7b7b7b;
  color: #c7c7c7;
  padding: 0.35rem 0.81rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-nav.navbar-nav-right .nav-item:last-child {
  margin-right: 0;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field {
  background: transparent;
  margin-right: 0.75rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap {
  border-radius: 20px;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .input-group-prepend, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .input-group-prepend, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-trigger, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-trigger {
  background: transparent;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .input-group-prepend .input-group-text, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .input-group-prepend .input-group-text, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-trigger .input-group-text, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-trigger .input-group-text {
  border: 0;
  color: #c7c7c7;
  padding: 0;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .form-control, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-hint,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-query,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .typeahead, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-search__field, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-selection--single, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=number], .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=text],
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .dataTables_wrapper select, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .form-control, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-hint,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-query,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .typeahead, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-search__field, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-selection--single, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=number], .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=text],
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .dataTables_wrapper select, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-input, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-input {
  width: 50%;
  background: transparent;
  border: 0;
  font-size: 0.875rem;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .form-control::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-hint::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-query::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .typeahead::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single .select2-search__field::-webkit-input-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-search__field::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single::-webkit-input-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-selection--single::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-webkit-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=number]::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-webkit-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=text]::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select::-webkit-input-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .dataTables_wrapper select::-webkit-input-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .form-control::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-hint::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-query::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .typeahead::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field::-webkit-input-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-search__field::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single::-webkit-input-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-selection--single::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-webkit-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=number]::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-webkit-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=text]::-webkit-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select::-webkit-input-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .dataTables_wrapper select::-webkit-input-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-input::-webkit-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-input::-webkit-input-placeholder {
  color: #c7c7c7;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .form-control:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-hint:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-query:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .typeahead:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single .select2-search__field:-moz-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-search__field:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single:-moz-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-selection--single:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=number]:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=text]:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select:-moz-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .dataTables_wrapper select:-moz-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .form-control:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-hint:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-query:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .typeahead:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field:-moz-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-search__field:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single:-moz-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-selection--single:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=number]:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=text]:-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select:-moz-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .dataTables_wrapper select:-moz-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-input:-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-input:-moz-placeholder {
  color: #c7c7c7;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .form-control::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-hint::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-query::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .typeahead::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single .select2-search__field::-moz-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-search__field::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single::-moz-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-selection--single::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=number]::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=text]::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select::-moz-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .dataTables_wrapper select::-moz-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .form-control::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-hint::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-query::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .typeahead::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field::-moz-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-search__field::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single::-moz-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-selection--single::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=number]::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]::-moz-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=text]::-moz-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select::-moz-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .dataTables_wrapper select::-moz-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-input::-moz-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-input::-moz-placeholder {
  color: #c7c7c7;
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .form-control:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-hint:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .tt-query:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .typeahead:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single .select2-search__field:-ms-input-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-search__field:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-container--default .select2-selection--single:-ms-input-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .select2-selection--single:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:-ms-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=number]:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:-ms-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group input[type=text]:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select:-ms-input-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .dataTables_wrapper select:-ms-input-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group select:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .form-control:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-hint:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .tt-query:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .typeahead:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field:-ms-input-placeholder, .select2-container--default .select2-selection--single .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-search__field:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-container--default .select2-selection--single:-ms-input-placeholder, .select2-container--default .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .select2-selection--single:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:-ms-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=number]:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:-ms-input-placeholder, .jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap input[type=text]:-ms-input-placeholder,
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select:-ms-input-placeholder,
.jsgrid .jsgrid-table .jsgrid-filter-row .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .dataTables_wrapper select:-ms-input-placeholder, .dataTables_wrapper .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap select:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .input-group .asColorPicker-input:-ms-input-placeholder, .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field .asColorPicker-wrap .asColorPicker-input:-ms-input-placeholder {
  color: #c7c7c7;
}
.rtl .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field {
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .search-field {
    display: none;
  }
}
.navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-toggler {
  display: none;
  color: #c7c7c7;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper .navbar-toggler {
    display: block;
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  .navbar.horizontal-layout .nav-top .navbar-menu-wrapper {
    width: calc(100% - 70px);
    padding-right: 1rem;
  }
}
.navbar.horizontal-layout .nav-bottom {
  background: #fff;
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  transition-duration: 3s;
  transition-property: position, left, right, top, z-index;
  box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  -webkit-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom {
    display: none;
  }
  .navbar.horizontal-layout .nav-bottom.header-toggled {
    display: block;
    max-height: calc(100vh - 60px);
    overflow: auto;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation {
  position: relative;
  width: 100%;
  z-index: 99;
  justify-content: space-between;
  transition-duration: 0.2s;
  transition-property: background, box-shadow;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation {
    border: none;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item {
  line-height: 1;
  text-align: left;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item {
    display: block;
    width: 100%;
    border-right: none;
  }
}
@media (min-width: 992px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:first-child > .nav-link {
    padding-left: 0;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:last-child {
  border-right: none;
}
@media (min-width: 992px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:last-child > .nav-link {
    padding-right: 0;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link {
  color: #242425;
  padding: 22px 10px;
  line-height: 1;
  font-weight: 600;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .menu-title {
  font-size: 0.875rem;
  font-weight: 500;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .link-icon {
  margin-right: 10px;
  font-size: 1rem;
  color: #242425;
  font-weight: 600;
}
.rtl .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .link-icon {
  margin-right: 0;
  margin-left: 10px;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .menu-arrow {
  margin-left: 5px;
  font-size: 15px;
  display: inline-block;
  transform: rotate(0deg);
  moz-transform-origin: center;
  transform-origin: center;
  transition-duration: 0.25s;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .menu-arrow:before {
  font-family: "simple-line-icons";
  content: "\e604";
  speak: none;
  font-size: 0.625rem;
  font-style: normal;
  font-weight: 600;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 768px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover .submenu {
    display: block;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link {
    background: transparent;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link i,
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link .menu-title {
    color: #439aff;
    transition: color 1s ease;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link .menu-arrow {
    transform: rotate(-180deg);
  }
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.show-submenu .submenu {
    display: block;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.show-submenu > .nav-link {
    background: transparent;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.show-submenu > .nav-link i,
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.show-submenu > .nav-link .menu-title {
    color: #439aff;
    transition: color 1s ease;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.show-submenu > .nav-link .menu-arrow {
    transform: rotate(-180deg);
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link {
  position: relative;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link:before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #439aff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link .menu-title,
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link i,
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link .menu-arrow {
  color: #439aff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu {
  display: none;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul {
  list-style-type: none;
  padding-left: 0;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li {
  display: block;
  line-height: 20px;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li a {
  display: block;
  padding: 5px 10px;
  font-weight: 400;
  color: #242425;
  text-decoration: none;
  text-align: left;
  margin: 4px 0;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
  transition-duration: 0.2s;
  transition-property: background;
  border-radius: 6px;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li a:hover {
  color: #439aff;
  transition: color 0.1s linear;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li a:hover:before {
  background: #439aff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li.active a {
  color: #439aff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item .submenu ul li.active a:before {
  background: #439aff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) {
  position: relative;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu {
  left: 0;
}
@media (min-width: 768px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu {
    position: absolute;
    top: 61px;
    z-index: 999;
    background: #fff;
    border-top: none;
    border-radius: 4px;
    box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
    -webkit-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu li a {
    position: relative;
    padding-left: 20px;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu li a::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 2px;
    border-radius: 100%;
    background: #fdbab1;
    top: 12px;
    left: 0;
  }
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu {
    position: relative;
    top: 0;
    box-shadow: none;
  }
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu {
    top: 0;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu ul {
  width: auto;
  padding: 25px;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:not(.mega-menu) .submenu ul {
    padding: 0 23px;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu {
  width: 100%;
  left: 0;
  right: 0;
  padding: 25px;
}
@media (min-width: 768px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu {
    position: absolute;
    top: 61px;
    z-index: 999;
    background: #fff;
    border-top: none;
    border-radius: 4px;
    box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
    -webkit-box-shadow: 1px 0px 20px rgba(0, 0, 0, 0.08);
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu li a {
    position: relative;
    padding-left: 20px;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu li a::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 2px;
    border-radius: 100%;
    background: #fdbab1;
    top: 12px;
    left: 0;
  }
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu {
    position: relative;
    top: 0;
    box-shadow: none;
  }
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .category-heading {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
  color: #000;
  padding: 1rem 0;
  margin-bottom: 0;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .col-group-wrapper {
  padding: 0 1rem;
}
@media (max-width: 991.98px) {
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu {
    padding: 0 32px;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .col-group-wrapper {
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .col-group-wrapper .col-group {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 20px;
  }
  .navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.mega-menu .submenu .col-group-wrapper .col-group .category-heading:after {
    display: none;
  }
}
.navbar.horizontal-layout.fixed-on-scroll .nav-bottom {
  border-bottom: 1px solid #f2f2f2;
}
@media (max-width: 991px) {
  .navbar.horizontal-layout {
    position: fixed;
    z-index: 1030;
    top: 0;
    left: 0;
    right: 0;
  }
  .navbar.horizontal-layout .nav-top {
    border-bottom: 1px solid #f2f2f2;
  }
}

/* Footer */
.footer {
  background: #f0f2f7;
  padding: 20px;
  transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  -webkit-transition: all 0.25s ease;
  -ms-transition: all 0.25s ease;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  font-size: calc(0.875rem - 0.05rem);
  font-family: "Open Sans", sans-serif;
}
.footer a {
  color: #7ed321;
  font-size: inherit;
}
@media (max-width: 991px) {
  .footer {
    margin-left: 0;
    width: 100%;
  }
}

/* Utilities */
.grid-margin {
  margin-bottom: 12px;
}

@media (min-width: 576px) {
  .grid-margin-sm-0 {
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .grid-margin-md-0 {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .grid-margin-lg-0 {
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .grid-margin-xl-0 {
    margin-bottom: 0;
  }
}

.img-lg {
  width: 92px;
  height: 92px;
}

.img-md {
  width: 60px;
  height: 60px;
}

.img-sm {
  width: 40px;
  height: 40px;
}

.img-xs {
  width: 37px;
  height: 37px;
}

.img-ss {
  width: 26px;
  height: 26px;
}

.img-bordered {
  border: 2px solid #fff;
}

.image-layers {
  position: relative;
  min-height: 24px;
}
.image-layers .image-layer-item {
  position: absolute;
  border: 2px solid #fff;
  width: 24px;
  height: 24px;
}
.image-layers :nth-child(1) {
  z-index: 10;
  left: 0px;
}
.image-layers :nth-child(2) {
  z-index: 9;
  left: 15px;
}
.image-layers :nth-child(3) {
  z-index: 8;
  left: 30px;
}
.image-layers :nth-child(4) {
  z-index: 7;
  left: 45px;
}
.image-layers :nth-child(5) {
  z-index: 6;
  left: 60px;
}
.image-layers :nth-child(6) {
  z-index: 5;
  left: 75px;
}
.image-layers :nth-child(7) {
  z-index: 4;
  left: 90px;
}
.image-layers :nth-child(8) {
  z-index: 3;
  left: 105px;
}
.image-layers :nth-child(9) {
  z-index: 2;
  left: 120px;
}
.image-layers :nth-child(10) {
  z-index: 1;
  left: 135px;
}
.image-layers .profile-image-text {
  line-height: 20px;
}

.profile-image-text {
  line-height: 24px;
  text-align: center;
  color: #fff;
  font-size: 1rem;
}

.stretch-card {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
.stretch-card > .card {
  width: 100%;
  min-width: 100%;
}

@media (min-width: 576px) {
  .border-right-sm {
    border-right: 1px solid #f2f2f2;
  }
}

@media (min-width: 768px) {
  .border-right-md {
    border-right: 1px solid #f2f2f2;
  }
}

@media (min-width: 992px) {
  .border-right-lg {
    border-right: 1px solid #f2f2f2;
  }
}

@media (min-width: 576px) {
  .border-left-sm {
    border-left: 1px solid #f2f2f2;
  }
}

.border-strong {
  border-color: #262626;
}

.count-wrapper {
  position: relative;
}
.count-wrapper .count {
  position: absolute;
  width: auto;
  min-width: 8px;
  min-height: 8px;
  padding: 2px 4px;
  font-size: 75%;
  line-height: 1;
  vertical-align: middle;
  border-radius: 100%;
  color: #fff;
  font-weight: 500;
}
.count-wrapper .count.top-right {
  top: -5px;
  right: 0;
}
.count-wrapper .count.bottom-right {
  bottom: -5px;
  right: 0;
}
.count-wrapper .count.bottom-left {
  bottom: -5px;
  left: 0;
}
.count-wrapper .count.top-left {
  top: -5px;
  left: 0;
}

@media (min-width: 768px) {
  .border-left-md {
    border-left: 1px solid #f2f2f2;
  }
}

@media (min-width: 992px) {
  .border-left-lg {
    border-left: 1px solid #f2f2f2;
  }
}

.text-gray, .new-accounts ul.chats li.chat-persons a p.joined-date, .new-accounts ul.chats li.chat-persons a div.user p.u-designation, .card-subtitle {
  color: #636363;
}

.text-black {
  color: #000;
}

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

.ellipsis {
  max-width: 95%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.no-wrap {
  white-space: nowrap;
}

.bg-transparent {
  background: transparent;
}

.bg-inverse-primary {
  color: #439aff;
  border-color: #439aff;
  background: rgba(67, 154, 255, 0.4);
}

.bg-inverse-secondary {
  color: #fdbab1;
  border-color: #fdbab1;
  background: rgba(253, 186, 177, 0.4);
}

.bg-inverse-success {
  color: #7ed321;
  border-color: #7ed321;
  background: rgba(126, 211, 33, 0.4);
}

.bg-inverse-info {
  color: #4729b7;
  border-color: #4729b7;
  background: rgba(71, 41, 183, 0.4);
}

.bg-inverse-warning {
  color: #f5a623;
  border-color: #f5a623;
  background: rgba(245, 166, 35, 0.4);
}

.bg-inverse-danger {
  color: #ff5e5e;
  border-color: #ff5e5e;
  background: rgba(255, 94, 94, 0.4);
}

.bg-inverse-light {
  color: #f3f5f6;
  border-color: #f3f5f6;
  background: rgba(243, 245, 246, 0.4);
}

.bg-inverse-dark {
  color: #090e40;
  border-color: #090e40;
  background: rgba(9, 14, 64, 0.4);
}

.disc {
  width: 10px;
  height: 10px;
  border-radius: 100%;
}

/* Demo Styles */
.template-demo > .btn-group .btn, .template-demo > .btn-group .wizard > .actions a, .wizard > .actions .template-demo > .btn-group a, .template-demo > .btn-group .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .template-demo > .btn-group .swal2-styled, .template-demo > .btn-group .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .template-demo > .btn-group .ajax-file-upload {
  margin: 0;
}
.template-demo .progress {
  margin-top: 1.5rem;
}
.template-demo > h2,
.template-demo > h3,
.template-demo > h4,
.template-demo > h5,
.template-demo > h6,
.template-demo > h1 {
  border-top: 1px solid #f2f2f2;
  padding: 0.5rem 0 0;
}
.template-demo .ul-slider.noUi-horizontal {
  margin-top: 2rem;
}
.template-demo .ul-slider.noUi-vertical {
  margin-right: 2rem;
}
.template-demo .dropdown {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.template-demo nav .breadcrumb {
  margin-bottom: 1.375rem;
}
.template-demo nav:last-child .breadcrumb {
  margin-bottom: 0;
}
.template-demo .editable-form > .form-group {
  border-bottom: 1px solid #f2f2f2;
  padding-bottom: 0.8rem;
  margin-bottom: 0.8rem;
}
.template-demo .circle-progress {
  padding: 15px;
}
.demo-modal {
  position: static;
  display: block;
}
.demo-modal .modal-dialog.modal-lg {
  max-width: 100%;
}

.loader-demo-box {
  width: 100%;
  height: 200px;
}

.documentation {
  padding-top: 0;
  max-width: 100%;
}
.documentation .content-wrapper {
  padding-top: 0;
  min-height: calc(100vh - 60px);
}

.doc-table-contents,
.doc-header {
  position: fixed;
}

.doc-header {
  padding-top: 24px;
  padding-bottom: 24px;
  z-index: 2;
  background: #f0f2f7;
}

.doc-content {
  padding-top: 157px;
}

.doc-table-contents {
  overflow: auto;
  max-height: calc(100% - 157px);
}
.doc-table-contents ul li {
  margin-top: 10px;
}
.doc-table-contents ul li:before {
  font-size: 0.5rem;
}

.doc-credits ul li {
  margin-bottom: 10px;
}
.doc-credits ul li a {
  margin-left: 0.25rem;
}

.demo-vector-map {
  width: 100%;
  height: 500px;
}

.earning-report-legend ul {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
}
.earning-report-legend ul li {
  font-weight: 400;
}
.earning-report-legend ul li .legend-label {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 100%;
  margin-right: 10px;
}
.earning-report-legend ul li .legend-percentage {
  font-weight: 600;
}

/*-------------------------------------------------------------------*/
/* === Components === */
/* Accordions */
.accordion .card {
  margin-bottom: 0.75rem;
  box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35);
  border-radius: 0.25rem;
  border: 0;
}
.accordion .card .card-header {
  background-color: transparent;
  border: none;
  padding: 2rem;
}
.accordion .card .card-header * {
  font-weight: 400;
  font-size: 1rem;
}
.accordion .card .card-header a {
  display: block;
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  position: relative;
  transition: color 0.5s ease;
  padding-right: 0.5rem;
}
.accordion .card .card-header a:before {
  font-family: "simple-line-icons";
  position: absolute;
  right: 7px;
  top: 0;
  font-size: 18px;
  display: block;
}
.accordion .card .card-header a[aria-expanded=true] {
  color: #439aff;
}
.accordion .card .card-header a[aria-expanded=true]:before {
  content: "\e607";
}
.accordion .card .card-header a[aria-expanded=false]:before {
  content: "\e604";
}
.accordion .card .card-body {
  font-size: 14px;
  padding: 0 2rem 2rem 2rem;
  font-weight: 400;
  line-height: 1.5;
}
.accordion .card .card-body i {
  font-size: 1.25rem;
}
.accordion.accordion-bordered {
  background: #fff;
  box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35);
}
.accordion.accordion-bordered .card {
  margin: 0 2rem;
  border-top: 1px solid #f2f2f2;
  box-shadow: none;
  border-radius: 0;
}
.accordion.accordion-bordered .card .card-header,
.accordion.accordion-bordered .card .card-body {
  padding-left: 0;
  padding-right: 0;
}
.accordion.accordion-bordered .card .card-header a:before[aria-expanded=true], .accordion.accordion-bordered .card .card-header a:before[aria-expanded=false] {
  color: #ff5e5e;
}
.accordion.accordion-bordered .card .card-header a[aria-expanded=true] {
  color: inherit;
}
.accordion.accordion-bordered .card:first-child {
  border-top: 0;
}
.accordion.accordion-filled .card {
  padding: 0;
}
.accordion.accordion-filled .card .card-header {
  padding: 0;
}
.accordion.accordion-filled .card .card-header a {
  padding: 2rem 4.5rem 2rem 2rem;
  transition: all 0.2s linear;
}
.accordion.accordion-filled .card .card-header a:before {
  top: 40%;
  right: 40px;
}
.accordion.accordion-filled .card .card-header a[aria-expanded=true] {
  background: #4729b7;
  color: #fff;
}
.accordion.accordion-filled .card .card-header a[aria-expanded=true]:before {
  color: #fff;
}
.accordion.accordion-filled .card .card-body {
  padding: 0 2rem 2rem 2rem;
  background: #4729b7;
  color: #fff;
}
.accordion.accordion-solid-header .card {
  padding: 0;
}
.accordion.accordion-solid-header .card .card-header {
  padding: 0;
}
.accordion.accordion-solid-header .card .card-header a {
  padding: 2rem 4.5rem 2rem 2rem;
  transition: all 0.2s linear;
}
.accordion.accordion-solid-header .card .card-header a:before {
  top: 40%;
  right: 40px;
}
.accordion.accordion-solid-header .card .card-header a[aria-expanded=true] {
  background: #439aff;
  color: #fff;
}
.accordion.accordion-solid-header .card .card-header a[aria-expanded=true]:before {
  color: #fff;
}
.accordion.accordion-solid-header .card .card-body {
  padding: 2rem;
}
.accordion.accordion-solid-content .card {
  padding: 0;
}
.accordion.accordion-solid-content .card .card-header {
  padding: 0;
}
.accordion.accordion-solid-content .card .card-header a {
  padding: 2rem 4.5rem 2rem 2rem;
  transition: all 0.2s linear;
}
.accordion.accordion-solid-content .card .card-header a:before {
  top: 40%;
  right: 40px;
}
.accordion.accordion-solid-content .card .card-header a[aria-expanded=true] {
  color: inherit;
}
.accordion.accordion-solid-content .card .card-body {
  padding: 2rem;
  background: #7ed321;
  color: #fff;
}
.accordion.accordion-multi-colored .card .card-header,
.accordion.accordion-multi-colored .card .card-body {
  background: transparent;
  color: #fff;
}
.accordion.accordion-multi-colored .card:nth-child(1) {
  background: #439aff;
}
.accordion.accordion-multi-colored .card:nth-child(2) {
  background: #7ed321;
}
.accordion.accordion-multi-colored .card:nth-child(3) {
  background: #ff5e5e;
}
.accordion.accordion-multi-colored .card:nth-child(4) {
  background: #f5a623;
}
.accordion.accordion-multi-colored .card:nth-child(5) {
  background: #4729b7;
}
.accordion.accordion-multi-colored .card .card-header a[aria-expanded=true] {
  color: inherit;
}

/* Badges */
.badge {
  border-radius: 0.125rem;
  font-size: 0.75rem;
  font-weight: initial;
  line-height: 1.5;
  padding: 0.25rem 0.5625rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
}
.badge.badge-pill {
  border-radius: 10rem;
}
.badge.badge-fw {
  min-width: 70px;
}
.badge.badge-lg {
  padding: 0.4rem 0.5rem;
}

/*Badge variations*/
.badge-primary {
  border: 1px solid #439aff;
  color: #fff;
}

.badge-secondary {
  border: 1px solid #fdbab1;
  color: #fff;
}

.badge-success, .preview-list .preview-item .preview-thumbnail .badge.badge-online {
  border: 1px solid #7ed321;
  color: #fff;
}

.badge-info, .preview-list .preview-item .preview-thumbnail .badge.badge-offline {
  border: 1px solid #4729b7;
  color: #fff;
}

.badge-warning, .preview-list .preview-item .preview-thumbnail .badge.badge-busy {
  border: 1px solid #f5a623;
  color: #fff;
}

.badge-danger {
  border: 1px solid #ff5e5e;
  color: #fff;
}

.badge-light {
  border: 1px solid #f3f5f6;
  color: #fff;
}

.badge-dark {
  border: 1px solid #090e40;
  color: #fff;
}

/*Badge inverse variations*/
.badge-inverse-primary {
  background: rgba(67, 154, 255, 0.3);
  color: #439aff;
}

.badge-inverse-secondary {
  background: rgba(253, 186, 177, 0.3);
  color: #fdbab1;
}

.badge-inverse-success {
  background: rgba(126, 211, 33, 0.3);
  color: #7ed321;
}

.badge-inverse-info {
  background: rgba(71, 41, 183, 0.3);
  color: #4729b7;
}

.badge-inverse-warning {
  background: rgba(245, 166, 35, 0.3);
  color: #f5a623;
}

.badge-inverse-danger {
  background: rgba(255, 94, 94, 0.3);
  color: #ff5e5e;
}

.badge-inverse-light {
  background: rgba(243, 245, 246, 0.3);
  color: #f3f5f6;
}

.badge-inverse-dark {
  background: rgba(9, 14, 64, 0.3);
  color: #090e40;
}

/*Badge outlined variations*/
.badge-outline-primary {
  color: #439aff;
  border: 1px solid #439aff;
}

.badge-outline-secondary {
  color: #fdbab1;
  border: 1px solid #fdbab1;
}

.badge-outline-success {
  color: #7ed321;
  border: 1px solid #7ed321;
}

.badge-outline-info {
  color: #4729b7;
  border: 1px solid #4729b7;
}

.badge-outline-warning {
  color: #f5a623;
  border: 1px solid #f5a623;
}

.badge-outline-danger {
  color: #ff5e5e;
  border: 1px solid #ff5e5e;
}

.badge-outline-light {
  color: #f3f5f6;
  border: 1px solid #f3f5f6;
}

.badge-outline-dark {
  color: #090e40;
  border: 1px solid #090e40;
}

/* Bootstrap Alerts */
.alert {
  font-size: 0.875rem;
}
.alert i {
  font-size: 1.25rem;
  margin-right: 1.25rem;
  vertical-align: middle;
  line-height: 0.5;
}

.alert-primary {
  color: #3375c2;
  background-color: rgba(67, 154, 255, 0.2);
  border-color: #3e8eeb;
}
.alert-primary hr {
  border-top-color: #2780e9;
}
.alert-primary .alert-link {
  color: #285d9a;
}

.alert-secondary {
  color: #c08d87;
  background-color: rgba(253, 186, 177, 0.2);
  border-color: #e9aba3;
}
.alert-secondary hr {
  border-top-color: #e4988e;
}
.alert-secondary .alert-link {
  color: #ae6d66;
}

.alert-success {
  color: #60a019;
  background-color: rgba(126, 211, 33, 0.2);
  border-color: #74c21e;
}
.alert-success hr {
  border-top-color: #67ac1b;
}
.alert-success .alert-link {
  color: #467412;
}

.alert-info {
  color: #361f8b;
  background-color: rgba(71, 41, 183, 0.2);
  border-color: #4126a8;
}
.alert-info hr {
  border-top-color: #392193;
}
.alert-info .alert-link {
  color: #261661;
}

.alert-warning {
  color: #ba7e1b;
  background-color: rgba(245, 166, 35, 0.2);
  border-color: #e19920;
}
.alert-warning hr {
  border-top-color: #cc8a1b;
}
.alert-warning .alert-link {
  color: #8d6015;
}

.alert-danger {
  color: #c24747;
  background-color: rgba(255, 94, 94, 0.2);
  border-color: #eb5656;
}
.alert-danger hr {
  border-top-color: #e83f3f;
}
.alert-danger .alert-link {
  color: #a13535;
}

.alert-light {
  color: #b9babb;
  background-color: rgba(243, 245, 246, 0.2);
  border-color: #e0e1e2;
}
.alert-light hr {
  border-top-color: #d3d4d6;
}
.alert-light .alert-link {
  color: #9fa1a2;
}

.alert-dark {
  color: #070b31;
  background-color: rgba(9, 14, 64, 0.2);
  border-color: #080d3b;
}
.alert-dark hr {
  border-top-color: #050825;
}
.alert-dark .alert-link {
  color: #010104;
}

.alert-fill-primary {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.alert-fill-primary hr {
  border-top-color: #2a8cff;
}
.alert-fill-primary .alert-link {
  color: #e6e6e6;
}

.alert-fill-secondary {
  color: #fff;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.alert-fill-secondary hr {
  border-top-color: #fca498;
}
.alert-fill-secondary .alert-link {
  color: #e6e6e6;
}

.alert-fill-success {
  color: #fff;
  background-color: #7ed321;
  border-color: #7ed321;
}
.alert-fill-success hr {
  border-top-color: #71bd1e;
}
.alert-fill-success .alert-link {
  color: #e6e6e6;
}

.alert-fill-info {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.alert-fill-info hr {
  border-top-color: #3f24a2;
}
.alert-fill-info .alert-link {
  color: #e6e6e6;
}

.alert-fill-warning {
  color: #fff;
  background-color: #f5a623;
  border-color: #f5a623;
}
.alert-fill-warning hr {
  border-top-color: #f39c0b;
}
.alert-fill-warning .alert-link {
  color: #e6e6e6;
}

.alert-fill-danger {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.alert-fill-danger hr {
  border-top-color: #ff4545;
}
.alert-fill-danger .alert-link {
  color: #e6e6e6;
}

.alert-fill-light {
  color: #fff;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.alert-fill-light hr {
  border-top-color: #e4e9eb;
}
.alert-fill-light .alert-link {
  color: #e6e6e6;
}

.alert-fill-dark {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.alert-fill-dark hr {
  border-top-color: #06092a;
}
.alert-fill-dark .alert-link {
  color: #e6e6e6;
}

/* Bootstrap Progress */
.progress {
  border-radius: 2px;
  height: 8px;
}
.progress .progress-bar {
  border-radius: 2px;
}
.progress.progress-xs {
  height: 0.1875rem;
}
.progress.progress-sm {
  height: 0.375rem;
}
.progress.progress-md {
  height: 8px;
}
.progress.progress-lg {
  height: 15px;
}
.progress.progress-xl {
  height: 18px;
}

/* Buttons */
.btn, .wizard > .actions a, .swal2-modal .swal2-buttonswrapper .swal2-styled, .ajax-upload-dragdrop .ajax-file-upload {
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
}
.btn i, .wizard > .actions a i, .swal2-modal .swal2-buttonswrapper .swal2-styled i, .ajax-upload-dragdrop .ajax-file-upload i {
  margin-right: 0.3125rem;
}
.btn .btn-label:before, .wizard > .actions a .btn-label:before, .swal2-modal .swal2-buttonswrapper .swal2-styled .btn-label:before, .ajax-upload-dragdrop .ajax-file-upload .btn-label:before {
  font-size: 1rem;
  line-height: 5px;
  vertical-align: middle;
}
.btn .btn-label.btn-label-left, .wizard > .actions a .btn-label.btn-label-left, .swal2-modal .swal2-buttonswrapper .swal2-styled .btn-label.btn-label-left, .ajax-upload-dragdrop .ajax-file-upload .btn-label.btn-label-left {
  margin-right: 5px;
}
.btn .btn-label.btn-label-right, .wizard > .actions a .btn-label.btn-label-right, .swal2-modal .swal2-buttonswrapper .swal2-styled .btn-label.btn-label-right, .ajax-upload-dragdrop .ajax-file-upload .btn-label.btn-label-right {
  margin-left: 5px;
}
.btn.btn-rounded, .wizard > .actions a.btn-rounded, .swal2-modal .swal2-buttonswrapper .btn-rounded.swal2-styled, .ajax-upload-dragdrop .btn-rounded.ajax-file-upload {
  border-radius: 50px;
}
.btn.btn-icons, .wizard > .actions a.btn-icons, .swal2-modal .swal2-buttonswrapper .btn-icons.swal2-styled, .ajax-upload-dragdrop .btn-icons.ajax-file-upload {
  width: 40px;
  height: 40px;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
}
.btn.btn-icons i, .wizard > .actions a.btn-icons i, .swal2-modal .swal2-buttonswrapper .btn-icons.swal2-styled i, .ajax-upload-dragdrop .btn-icons.ajax-file-upload i {
  margin: auto;
  line-height: initial;
}
.btn.btn-fw, .wizard > .actions a.btn-fw, .swal2-modal .swal2-buttonswrapper .btn-fw.swal2-styled, .ajax-upload-dragdrop .btn-fw.ajax-file-upload {
  min-width: 120px;
}
.btn.icon-btn i, .wizard > .actions a.icon-btn i, .swal2-modal .swal2-buttonswrapper .icon-btn.swal2-styled i, .ajax-upload-dragdrop .icon-btn.ajax-file-upload i {
  margin-right: 0;
}
.btn.social-btn, .wizard > .actions a.social-btn, .swal2-modal .swal2-buttonswrapper .social-btn.swal2-styled, .ajax-upload-dragdrop .social-btn.ajax-file-upload {
  padding: 13px;
}
.btn.social-btn i, .wizard > .actions a.social-btn i, .swal2-modal .swal2-buttonswrapper .social-btn.swal2-styled i, .ajax-upload-dragdrop .social-btn.ajax-file-upload i {
  margin-right: 0;
  font-size: 1rem;
}
.btn.btn-sm, .wizard > .actions a.btn-sm, .swal2-modal .swal2-buttonswrapper .btn-sm.swal2-styled, .ajax-upload-dragdrop .btn-sm.ajax-file-upload, .btn-group-sm > .btn, .wizard > .actions .btn-group-sm > a, .swal2-modal .swal2-buttonswrapper .btn-group-sm > .swal2-styled, .ajax-upload-dragdrop .btn-group-sm > .ajax-file-upload {
  font-size: 0.875rem;
}
.btn.btn-lg, .wizard > .actions a.btn-lg, .swal2-modal .swal2-buttonswrapper .btn-lg.swal2-styled, .ajax-upload-dragdrop .btn-lg.ajax-file-upload, .btn-group-lg > .btn, .wizard > .actions .btn-group-lg > a, .swal2-modal .swal2-buttonswrapper .btn-group-lg > .swal2-styled, .ajax-upload-dragdrop .btn-group-lg > .ajax-file-upload {
  font-size: 0.875rem;
}
.btn.btn-xs, .wizard > .actions a.btn-xs, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-cancel, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-submit, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-submit, .swal2-modal .swal2-buttonswrapper .btn-xs.swal2-styled, .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-cancel, .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-submit, .ajax-upload-dragdrop .btn-xs.ajax-file-upload, .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .ajax-file-upload.editable-cancel, .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .ajax-file-upload.editable-submit {
  padding: 0.5rem 0.75rem;
  font-size: 0.625rem;
}
.btn.btn-danger, .wizard > .actions a.btn-danger, .swal2-modal .swal2-buttonswrapper .btn-danger.swal2-styled, .ajax-upload-dragdrop .btn-danger.ajax-file-upload, .btn.btn-info, .wizard > .actions a.btn-info, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-submit, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-submit, .swal2-modal .swal2-buttonswrapper .btn-info.swal2-styled, .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-submit, .ajax-upload-dragdrop .btn-info.ajax-file-upload, .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .ajax-file-upload.editable-submit, .btn.btn-success, .wizard > .actions a.btn-success, .swal2-modal .swal2-buttonswrapper .btn-success.swal2-styled, .ajax-upload-dragdrop .btn-success.ajax-file-upload, .btn.btn-teal, .wizard > .actions a.btn-teal, .swal2-modal .swal2-buttonswrapper .btn-teal.swal2-styled, .ajax-upload-dragdrop .btn-teal.ajax-file-upload, .btn.btn-warning, .wizard > .actions a.btn-warning, .swal2-modal .swal2-buttonswrapper .btn-warning.swal2-styled, .ajax-upload-dragdrop .btn-warning.ajax-file-upload {
  color: #fff;
}
.btn.btn-outline-light, .wizard > .actions a.btn-outline-light, .swal2-modal .swal2-buttonswrapper .btn-outline-light.swal2-styled, .ajax-upload-dragdrop .btn-outline-light.ajax-file-upload {
  border-color: #c7d1d5;
  color: #c7d1d5;
}
.btn.btn-inverse-light, .wizard > .actions a.btn-inverse-light, .swal2-modal .swal2-buttonswrapper .btn-inverse-light.swal2-styled, .ajax-upload-dragdrop .btn-inverse-light.ajax-file-upload {
  background-color: #fff;
  color: rgba(0, 0, 0, 0.5);
  border-color: #cccccc;
}
.btn.btn-inverse-light:hover, .wizard > .actions a.btn-inverse-light:hover, .swal2-modal .swal2-buttonswrapper .btn-inverse-light.swal2-styled:hover, .ajax-upload-dragdrop .btn-inverse-light.ajax-file-upload:hover {
  color: rgba(0, 0, 0, 0.5);
  border-color: #d9d9d9;
}

.btn-group {
  border: 1px solid #f2f2f2;
  border-radius: 0.1875rem;
}
.btn-group .btn, .btn-group .wizard > .actions a, .wizard > .actions .btn-group a, .btn-group .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .swal2-styled, .btn-group .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .btn-group .ajax-file-upload {
  border-top: none;
  border-bottom: none;
  border-left: none;
}
.btn-group .btn:last-child, .btn-group .wizard > .actions a:last-child, .wizard > .actions .btn-group a:last-child, .btn-group .swal2-modal .swal2-buttonswrapper .swal2-styled:last-child, .swal2-modal .swal2-buttonswrapper .btn-group .swal2-styled:last-child, .btn-group .ajax-upload-dragdrop .ajax-file-upload:last-child, .ajax-upload-dragdrop .btn-group .ajax-file-upload:last-child {
  border-right: none;
}
.btn-group .btn.btn-primary, .btn-group .wizard > .actions a, .wizard > .actions .btn-group a, .btn-group .swal2-modal .swal2-buttonswrapper .btn-primary.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-primary.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-primary.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-primary.ajax-file-upload {
  border-color: #3492ff;
}
.btn-group .btn.btn-secondary, .btn-group .wizard > .actions a.btn-secondary, .wizard > .actions .btn-group a.btn-secondary, .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-cancel, .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-cancel, .wizard > .actions .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .btn.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .wizard > .actions a.editable-cancel, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group a.editable-cancel, .btn-group .swal2-modal .swal2-buttonswrapper .btn-secondary.swal2-styled, .btn-group .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-cancel, .swal2-modal .swal2-buttonswrapper .btn-group .btn-secondary.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .btn-group .swal2-styled.editable-cancel, .btn-group .ajax-upload-dragdrop .btn-secondary.ajax-file-upload, .btn-group .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .ajax-upload-dragdrop .ajax-file-upload.editable-cancel, .ajax-upload-dragdrop .btn-group .btn-secondary.ajax-file-upload, .ajax-upload-dragdrop .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .btn-group .ajax-file-upload.editable-cancel {
  border-color: #fdada2;
}
.btn-group .btn.btn-info, .btn-group .wizard > .actions a.btn-info, .wizard > .actions .btn-group a.btn-info, .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-submit, .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-submit, .wizard > .actions .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .btn.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .wizard > .actions a.editable-submit, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group a.editable-submit, .btn-group .swal2-modal .swal2-buttonswrapper .btn-info.swal2-styled, .btn-group .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-submit, .swal2-modal .swal2-buttonswrapper .btn-group .btn-info.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .btn-group .swal2-styled.editable-submit, .btn-group .ajax-upload-dragdrop .btn-info.ajax-file-upload, .btn-group .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .btn-group .ajax-upload-dragdrop .ajax-file-upload.editable-submit, .ajax-upload-dragdrop .btn-group .btn-info.ajax-file-upload, .ajax-upload-dragdrop .btn-group .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .btn-group .ajax-file-upload.editable-submit {
  border-color: #4226ab;
}
.btn-group .btn.btn-warning, .btn-group .wizard > .actions a.btn-warning, .wizard > .actions .btn-group a.btn-warning, .btn-group .swal2-modal .swal2-buttonswrapper .btn-warning.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-warning.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-warning.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-warning.ajax-file-upload {
  border-color: #f4a014;
}
.btn-group .btn.btn-success, .btn-group .wizard > .actions a.btn-success, .wizard > .actions .btn-group a.btn-success, .btn-group .swal2-modal .swal2-buttonswrapper .btn-success.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-success.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-success.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-success.ajax-file-upload {
  border-color: #76c61f;
}
.btn-group .btn.btn-danger, .btn-group .wizard > .actions a.btn-danger, .wizard > .actions .btn-group a.btn-danger, .btn-group .swal2-modal .swal2-buttonswrapper .btn-danger.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-danger.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-danger.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-danger.ajax-file-upload {
  border-color: #ff4f4f;
}
.btn-group .btn.btn-dark, .btn-group .wizard > .actions a.btn-dark, .wizard > .actions .btn-group a.btn-dark, .btn-group .swal2-modal .swal2-buttonswrapper .btn-dark.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-dark.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-dark.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-dark.ajax-file-upload {
  border-color: #070b33;
}
.btn-group .btn.btn-light, .btn-group .wizard > .actions a.btn-light, .wizard > .actions .btn-group a.btn-light, .btn-group .swal2-modal .swal2-buttonswrapper .btn-light.swal2-styled, .swal2-modal .swal2-buttonswrapper .btn-group .btn-light.swal2-styled, .btn-group .ajax-upload-dragdrop .btn-light.ajax-file-upload, .ajax-upload-dragdrop .btn-group .btn-light.ajax-file-upload {
  border-color: #eaeeef;
}

/*social buttons*/
.btn-twitter {
  background: #1da1f2;
  color: #fff;
}
.btn-twitter:hover {
  background: #0c85d0;
}
.btn-twitter.btn-link {
  background: none;
  color: #1da1f2;
}
.btn-twitter.btn-link:hover {
  color: #0c85d0;
}

.btn-facebook {
  background: #3b579d;
  color: #fff;
}
.btn-facebook:hover {
  background: #2d4278;
}
.btn-facebook.btn-link {
  background: none;
  color: #3b579d;
}
.btn-facebook.btn-link:hover {
  color: #2d4278;
}

.btn-google {
  background: #dc4a38;
  color: #fff;
}
.btn-google:hover {
  background: #bf3322;
}
.btn-google.btn-link {
  background: none;
  color: #dc4a38;
}
.btn-google.btn-link:hover {
  color: #bf3322;
}

.btn-linkedin {
  background: #0177b4;
  color: #fff;
}
.btn-linkedin:hover {
  background: #015581;
}
.btn-linkedin.btn-link {
  background: none;
  color: #0177b4;
}
.btn-linkedin.btn-link:hover {
  color: #015581;
}

.btn-pinterest {
  background: #cc2127;
  color: #fff;
}
.btn-pinterest:hover {
  background: #a01a1f;
}
.btn-pinterest.btn-link {
  background: none;
  color: #cc2127;
}
.btn-pinterest.btn-link:hover {
  color: #a01a1f;
}

.btn-youtube {
  background: #e52d27;
  color: #fff;
}
.btn-youtube:hover {
  background: #c21d17;
}
.btn-youtube.btn-link {
  background: none;
  color: #e52d27;
}
.btn-youtube.btn-link:hover {
  color: #c21d17;
}

.btn-github {
  background: #333333;
  color: #fff;
}
.btn-github:hover {
  background: #1a1a1a;
}
.btn-github.btn-link {
  background: none;
  color: #333333;
}
.btn-github.btn-link:hover {
  color: #1a1a1a;
}

.btn-behance {
  background: #1769ff;
  color: #fff;
}
.btn-behance:hover {
  background: #0050e3;
}
.btn-behance.btn-link {
  background: none;
  color: #1769ff;
}
.btn-behance.btn-link:hover {
  color: #0050e3;
}

.btn-dribbble {
  background: #ea4c89;
  color: #fff;
}
.btn-dribbble:hover {
  background: #e51e6b;
}
.btn-dribbble.btn-link {
  background: none;
  color: #ea4c89;
}
.btn-dribbble.btn-link:hover {
  color: #e51e6b;
}

.btn-reddit {
  background: #ff4500;
  color: #fff;
}
.btn-reddit:hover {
  background: #cc3700;
}
.btn-reddit.btn-link {
  background: none;
  color: #ff4500;
}
.btn-reddit.btn-link:hover {
  color: #cc3700;
}

/*social buttons*/
.btn-social-outline-twitter {
  background: transparent;
  border-color: #1da1f2;
  color: #1da1f2;
}
.btn-social-outline-twitter:hover {
  background: rgba(29, 161, 242, 0.2);
}

.btn-social-outline-facebook {
  background: transparent;
  border-color: #3b579d;
  color: #3b579d;
}
.btn-social-outline-facebook:hover {
  background: rgba(59, 87, 157, 0.2);
}

.btn-social-outline-google {
  background: transparent;
  border-color: #dc4a38;
  color: #dc4a38;
}
.btn-social-outline-google:hover {
  background: rgba(220, 74, 56, 0.2);
}

.btn-social-outline-linkedin {
  background: transparent;
  border-color: #0177b4;
  color: #0177b4;
}
.btn-social-outline-linkedin:hover {
  background: rgba(1, 119, 180, 0.2);
}

.btn-social-outline-pinterest {
  background: transparent;
  border-color: #cc2127;
  color: #cc2127;
}
.btn-social-outline-pinterest:hover {
  background: rgba(204, 33, 39, 0.2);
}

.btn-social-outline-youtube {
  background: transparent;
  border-color: #e52d27;
  color: #e52d27;
}
.btn-social-outline-youtube:hover {
  background: rgba(229, 45, 39, 0.2);
}

.btn-social-outline-github {
  background: transparent;
  border-color: #333333;
  color: #333333;
}
.btn-social-outline-github:hover {
  background: rgba(51, 51, 51, 0.2);
}

.btn-social-outline-behance {
  background: transparent;
  border-color: #1769ff;
  color: #1769ff;
}
.btn-social-outline-behance:hover {
  background: rgba(23, 105, 255, 0.2);
}

.btn-social-outline-dribbble {
  background: transparent;
  border-color: #ea4c89;
  color: #ea4c89;
}
.btn-social-outline-dribbble:hover {
  background: rgba(234, 76, 137, 0.2);
}

.btn-social-outline-reddit {
  background: transparent;
  border-color: #ff4500;
  color: #ff4500;
}
.btn-social-outline-reddit:hover {
  background: rgba(255, 69, 0, 0.2);
}

/* inverse buttons */
.btn-inverse-primary {
  color: #439aff;
  background-color: rgba(67, 154, 255, 0.2);
  background-image: none;
  border-color: rgba(67, 154, 255, 0);
}
.btn-inverse-primary:hover {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}
.btn-inverse-primary.focus, .btn-inverse-primary:focus {
  box-shadow: 0 0 0 3px rgba(67, 154, 255, 0.5);
}
.btn-inverse-primary.disabled, .btn-inverse-primary:disabled {
  color: #439aff;
  background-color: transparent;
}
.btn-inverse-primary.active, .btn-inverse-primary:active, .show > .btn-inverse-primary.dropdown-toggle {
  color: #fff;
  background-color: #439aff;
  border-color: #439aff;
}

.btn-inverse-secondary {
  color: #fdbab1;
  background-color: rgba(253, 186, 177, 0.2);
  background-image: none;
  border-color: rgba(253, 186, 177, 0);
}
.btn-inverse-secondary:hover {
  color: #fff;
  background-color: #fdbab1;
  border-color: #fdbab1;
}
.btn-inverse-secondary.focus, .btn-inverse-secondary:focus {
  box-shadow: 0 0 0 3px rgba(253, 186, 177, 0.5);
}
.btn-inverse-secondary.disabled, .btn-inverse-secondary:disabled {
  color: #fdbab1;
  background-color: transparent;
}
.btn-inverse-secondary.active, .btn-inverse-secondary:active, .show > .btn-inverse-secondary.dropdown-toggle {
  color: #fff;
  background-color: #fdbab1;
  border-color: #fdbab1;
}

.btn-inverse-success {
  color: #7ed321;
  background-color: rgba(126, 211, 33, 0.2);
  background-image: none;
  border-color: rgba(126, 211, 33, 0);
}
.btn-inverse-success:hover {
  color: #fff;
  background-color: #7ed321;
  border-color: #7ed321;
}
.btn-inverse-success.focus, .btn-inverse-success:focus {
  box-shadow: 0 0 0 3px rgba(126, 211, 33, 0.5);
}
.btn-inverse-success.disabled, .btn-inverse-success:disabled {
  color: #7ed321;
  background-color: transparent;
}
.btn-inverse-success.active, .btn-inverse-success:active, .show > .btn-inverse-success.dropdown-toggle {
  color: #fff;
  background-color: #7ed321;
  border-color: #7ed321;
}

.btn-inverse-info {
  color: #4729b7;
  background-color: rgba(71, 41, 183, 0.2);
  background-image: none;
  border-color: rgba(71, 41, 183, 0);
}
.btn-inverse-info:hover {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}
.btn-inverse-info.focus, .btn-inverse-info:focus {
  box-shadow: 0 0 0 3px rgba(71, 41, 183, 0.5);
}
.btn-inverse-info.disabled, .btn-inverse-info:disabled {
  color: #4729b7;
  background-color: transparent;
}
.btn-inverse-info.active, .btn-inverse-info:active, .show > .btn-inverse-info.dropdown-toggle {
  color: #fff;
  background-color: #4729b7;
  border-color: #4729b7;
}

.btn-inverse-warning {
  color: #f5a623;
  background-color: rgba(245, 166, 35, 0.2);
  background-image: none;
  border-color: rgba(245, 166, 35, 0);
}
.btn-inverse-warning:hover {
  color: #fff;
  background-color: #f5a623;
  border-color: #f5a623;
}
.btn-inverse-warning.focus, .btn-inverse-warning:focus {
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.5);
}
.btn-inverse-warning.disabled, .btn-inverse-warning:disabled {
  color: #f5a623;
  background-color: transparent;
}
.btn-inverse-warning.active, .btn-inverse-warning:active, .show > .btn-inverse-warning.dropdown-toggle {
  color: #fff;
  background-color: #f5a623;
  border-color: #f5a623;
}

.btn-inverse-danger {
  color: #ff5e5e;
  background-color: rgba(255, 94, 94, 0.2);
  background-image: none;
  border-color: rgba(255, 94, 94, 0);
}
.btn-inverse-danger:hover {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}
.btn-inverse-danger.focus, .btn-inverse-danger:focus {
  box-shadow: 0 0 0 3px rgba(255, 94, 94, 0.5);
}
.btn-inverse-danger.disabled, .btn-inverse-danger:disabled {
  color: #ff5e5e;
  background-color: transparent;
}
.btn-inverse-danger.active, .btn-inverse-danger:active, .show > .btn-inverse-danger.dropdown-toggle {
  color: #fff;
  background-color: #ff5e5e;
  border-color: #ff5e5e;
}

.btn-inverse-light {
  color: #f3f5f6;
  background-color: rgba(243, 245, 246, 0.2);
  background-image: none;
  border-color: rgba(243, 245, 246, 0);
}
.btn-inverse-light:hover {
  color: #fff;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}
.btn-inverse-light.focus, .btn-inverse-light:focus {
  box-shadow: 0 0 0 3px rgba(243, 245, 246, 0.5);
}
.btn-inverse-light.disabled, .btn-inverse-light:disabled {
  color: #f3f5f6;
  background-color: transparent;
}
.btn-inverse-light.active, .btn-inverse-light:active, .show > .btn-inverse-light.dropdown-toggle {
  color: #fff;
  background-color: #f3f5f6;
  border-color: #f3f5f6;
}

.btn-inverse-dark {
  color: #090e40;
  background-color: rgba(9, 14, 64, 0.2);
  background-image: none;
  border-color: rgba(9, 14, 64, 0);
}
.btn-inverse-dark:hover {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}
.btn-inverse-dark.focus, .btn-inverse-dark:focus {
  box-shadow: 0 0 0 3px rgba(9, 14, 64, 0.5);
}
.btn-inverse-dark.disabled, .btn-inverse-dark:disabled {
  color: #090e40;
  background-color: transparent;
}
.btn-inverse-dark.active, .btn-inverse-dark:active, .show > .btn-inverse-dark.dropdown-toggle {
  color: #fff;
  background-color: #090e40;
  border-color: #090e40;
}

/* Inverse Outlined Buttons */
.btn-inverse-outline-primary {
  color: #439aff;
  background-image: none;
  background: transparent;
  border-color: rgba(67, 154, 255, 0.2);
}
.btn-inverse-outline-primary:hover {
  color: #439aff;
  background-color: rgba(67, 154, 255, 0.2);
  border-color: rgba(67, 154, 255, 0.2);
}
.btn-inverse-outline-primary.focus, .btn-inverse-outline-primary:focus {
  box-shadow: 0 0 0 3px rgba(67, 154, 255, 0.5);
}
.btn-inverse-outline-primary.disabled, .btn-inverse-outline-primary:disabled {
  color: #439aff;
  background-color: transparent;
}
.btn-inverse-outline-primary.active, .btn-inverse-outline-primary:active, .show > .btn-inverse-outline-primary.dropdown-toggle {
  color: #fff;
  border-color: #439aff;
}

.btn-inverse-outline-secondary {
  color: #fdbab1;
  background-image: none;
  background: transparent;
  border-color: rgba(253, 186, 177, 0.2);
}
.btn-inverse-outline-secondary:hover {
  color: #fdbab1;
  background-color: rgba(253, 186, 177, 0.2);
  border-color: rgba(253, 186, 177, 0.2);
}
.btn-inverse-outline-secondary.focus, .btn-inverse-outline-secondary:focus {
  box-shadow: 0 0 0 3px rgba(253, 186, 177, 0.5);
}
.btn-inverse-outline-secondary.disabled, .btn-inverse-outline-secondary:disabled {
  color: #fdbab1;
  background-color: transparent;
}
.btn-inverse-outline-secondary.active, .btn-inverse-outline-secondary:active, .show > .btn-inverse-outline-secondary.dropdown-toggle {
  color: #fff;
  border-color: #fdbab1;
}

.btn-inverse-outline-success {
  color: #7ed321;
  background-image: none;
  background: transparent;
  border-color: rgba(126, 211, 33, 0.2);
}
.btn-inverse-outline-success:hover {
  color: #7ed321;
  background-color: rgba(126, 211, 33, 0.2);
  border-color: rgba(126, 211, 33, 0.2);
}
.btn-inverse-outline-success.focus, .btn-inverse-outline-success:focus {
  box-shadow: 0 0 0 3px rgba(126, 211, 33, 0.5);
}
.btn-inverse-outline-success.disabled, .btn-inverse-outline-success:disabled {
  color: #7ed321;
  background-color: transparent;
}
.btn-inverse-outline-success.active, .btn-inverse-outline-success:active, .show > .btn-inverse-outline-success.dropdown-toggle {
  color: #fff;
  border-color: #7ed321;
}

.btn-inverse-outline-info {
  color: #4729b7;
  background-image: none;
  background: transparent;
  border-color: rgba(71, 41, 183, 0.2);
}
.btn-inverse-outline-info:hover {
  color: #4729b7;
  background-color: rgba(71, 41, 183, 0.2);
  border-color: rgba(71, 41, 183, 0.2);
}
.btn-inverse-outline-info.focus, .btn-inverse-outline-info:focus {
  box-shadow: 0 0 0 3px rgba(71, 41, 183, 0.5);
}
.btn-inverse-outline-info.disabled, .btn-inverse-outline-info:disabled {
  color: #4729b7;
  background-color: transparent;
}
.btn-inverse-outline-info.active, .btn-inverse-outline-info:active, .show > .btn-inverse-outline-info.dropdown-toggle {
  color: #fff;
  border-color: #4729b7;
}

.btn-inverse-outline-warning {
  color: #f5a623;
  background-image: none;
  background: transparent;
  border-color: rgba(245, 166, 35, 0.2);
}
.btn-inverse-outline-warning:hover {
  color: #f5a623;
  background-color: rgba(245, 166, 35, 0.2);
  border-color: rgba(245, 166, 35, 0.2);
}
.btn-inverse-outline-warning.focus, .btn-inverse-outline-warning:focus {
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.5);
}
.btn-inverse-outline-warning.disabled, .btn-inverse-outline-warning:disabled {
  color: #f5a623;
  background-color: transparent;
}
.btn-inverse-outline-warning.active, .btn-inverse-outline-warning:active, .show > .btn-inverse-outline-warning.dropdown-toggle {
  color: #fff;
  border-color: #f5a623;
}

.btn-inverse-outline-danger {
  color: #ff5e5e;
  background-image: none;
  background: transparent;
  border-color: rgba(255, 94, 94, 0.2);
}
.btn-inverse-outline-danger:hover {
  color: #ff5e5e;
  background-color: rgba(255, 94, 94, 0.2);
  border-color: rgba(255, 94, 94, 0.2);
}
.btn-inverse-outline-danger.focus, .btn-inverse-outline-danger:focus {
  box-shadow: 0 0 0 3px rgba(255, 94, 94, 0.5);
}
.btn-inverse-outline-danger.disabled, .btn-inverse-outline-danger:disabled {
  color: #ff5e5e;
  background-color: transparent;
}
.btn-inverse-outline-danger.active, .btn-inverse-outline-danger:active, .show > .btn-inverse-outline-danger.dropdown-toggle {
  color: #fff;
  border-color: #ff5e5e;
}

.btn-inverse-outline-light {
  color: #f3f5f6;
  background-image: none;
  background: transparent;
  border-color: rgba(243, 245, 246, 0.2);
}
.btn-inverse-outline-light:hover {
  color: #f3f5f6;
  background-color: rgba(243, 245, 246, 0.2);
  border-color: rgba(243, 245, 246, 0.2);
}
.btn-inverse-outline-light.focus, .btn-inverse-outline-light:focus {
  box-shadow: 0 0 0 3px rgba(243, 245, 246, 0.5);
}
.btn-inverse-outline-light.disabled, .btn-inverse-outline-light:disabled {
  color: #f3f5f6;
  background-color: transparent;
}
.btn-inverse-outline-light.active, .btn-inverse-outline-light:active, .show > .btn-inverse-outline-light.dropdown-toggle {
  color: #fff;
  border-color: #f3f5f6;
}

.btn-inverse-outline-dark {
  color: #090e40;
  background-image: none;
  background: transparent;
  border-color: rgba(9, 14, 64, 0.2);
}
.btn-inverse-outline-dark:hover {
  color: #090e40;
  background-color: rgba(9, 14, 64, 0.2);
  border-color: rgba(9, 14, 64, 0.2);
}
.btn-inverse-outline-dark.focus, .btn-inverse-outline-dark:focus {
  box-shadow: 0 0 0 3px rgba(9, 14, 64, 0.5);
}
.btn-inverse-outline-dark.disabled, .btn-inverse-outline-dark:disabled {
  color: #090e40;
  background-color: transparent;
}
.btn-inverse-outline-dark.active, .btn-inverse-outline-dark:active, .show > .btn-inverse-outline-dark.dropdown-toggle {
  color: #fff;
  border-color: #090e40;
}

/* Breadcrumbs */
.breadcrumb {
  border: 1px solid #f2f2f2;
}
.breadcrumb .breadcrumb-item {
  font-size: 0.875rem;
}
.breadcrumb.breadcrumb-custom {
  padding: 0 0;
  border-color: #dbe3e6;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item {
  font-size: 0.875rem;
  background: #dbe3e6;
  padding: 0.56rem 10px;
  color: #000;
  display: inline-block;
  vertical-align: top;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item:before {
  content: "";
}
.breadcrumb.breadcrumb-custom .breadcrumb-item a {
  position: relative;
  color: inherit;
  border: 1px solid #dbe3e6;
  display: inline-block;
  vertical-align: top;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item a:after, .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  position: absolute;
  top: -9px;
  width: 0;
  height: 0;
  content: "";
  border-top: 21px solid transparent;
  border-bottom: 21px solid transparent;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  right: -22px;
  z-index: 3;
  border-left-color: #dbe3e6;
  border-left-style: solid;
  border-left-width: 12px;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item a:after {
  border-top: 21px solid transparent;
  border-bottom: 22px solid transparent;
  border-left: 12px solid #fff;
  top: -9px;
  right: -23px;
}
.breadcrumb.breadcrumb-custom .breadcrumb-item span {
  display: inline-block;
  vertical-align: top;
}
.breadcrumb.bg-danger, .breadcrumb.bg-dark, .breadcrumb.bg-info, .breadcrumb.bg-primary, .breadcrumb.bg-success, .breadcrumb.bg-warning {
  border: none;
}
.breadcrumb.bg-danger .breadcrumb-item, .breadcrumb.bg-dark .breadcrumb-item, .breadcrumb.bg-info .breadcrumb-item, .breadcrumb.bg-primary .breadcrumb-item, .breadcrumb.bg-success .breadcrumb-item, .breadcrumb.bg-warning .breadcrumb-item {
  color: #fff;
}
.breadcrumb.bg-danger .breadcrumb-item:before, .breadcrumb.bg-dark .breadcrumb-item:before, .breadcrumb.bg-info .breadcrumb-item:before, .breadcrumb.bg-primary .breadcrumb-item:before, .breadcrumb.bg-success .breadcrumb-item:before, .breadcrumb.bg-warning .breadcrumb-item:before {
  color: inherit;
}
.breadcrumb.bg-danger .breadcrumb-item a,
.breadcrumb.bg-danger .breadcrumb-item span, .breadcrumb.bg-dark .breadcrumb-item a,
.breadcrumb.bg-dark .breadcrumb-item span, .breadcrumb.bg-info .breadcrumb-item a,
.breadcrumb.bg-info .breadcrumb-item span, .breadcrumb.bg-primary .breadcrumb-item a,
.breadcrumb.bg-primary .breadcrumb-item span, .breadcrumb.bg-success .breadcrumb-item a,
.breadcrumb.bg-success .breadcrumb-item span, .breadcrumb.bg-warning .breadcrumb-item a,
.breadcrumb.bg-warning .breadcrumb-item span {
  color: inherit;
}

/* inverse breadcrumb */
.bg-inverse-primary .breadcrumb {
  background: #c3deff;
  border-color: #439aff;
}
.bg-inverse-primary .breadcrumb .breadcrumb-item {
  color: #439aff;
}
.bg-inverse-primary .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-primary .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom {
  background: #439aff;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #c3deff;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #439aff;
  border: none;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #c3deff;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #439aff;
}
.bg-inverse-primary .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-secondary .breadcrumb {
  background: white;
  border-color: #fdbab1;
}
.bg-inverse-secondary .breadcrumb .breadcrumb-item {
  color: #fdbab1;
}
.bg-inverse-secondary .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-secondary .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom {
  background: #fdbab1;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: white;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #fdbab1;
  border: none;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: white;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #fdbab1;
}
.bg-inverse-secondary .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-success .breadcrumb {
  background: #bcec87;
  border-color: #7ed321;
}
.bg-inverse-success .breadcrumb .breadcrumb-item {
  color: #7ed321;
}
.bg-inverse-success .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-success .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom {
  background: #7ed321;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #bcec87;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #7ed321;
  border: none;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #bcec87;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #7ed321;
}
.bg-inverse-success .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-info .breadcrumb {
  background: #937ee2;
  border-color: #4729b7;
}
.bg-inverse-info .breadcrumb .breadcrumb-item {
  color: #4729b7;
}
.bg-inverse-info .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-info .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom {
  background: #4729b7;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #937ee2;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #4729b7;
  border: none;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #937ee2;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #4729b7;
}
.bg-inverse-info .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-warning .breadcrumb {
  background: #fbd79d;
  border-color: #f5a623;
}
.bg-inverse-warning .breadcrumb .breadcrumb-item {
  color: #f5a623;
}
.bg-inverse-warning .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-warning .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom {
  background: #f5a623;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #fbd79d;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #f5a623;
  border: none;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #fbd79d;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #f5a623;
}
.bg-inverse-warning .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-danger .breadcrumb {
  background: #ffdede;
  border-color: #ff5e5e;
}
.bg-inverse-danger .breadcrumb .breadcrumb-item {
  color: #ff5e5e;
}
.bg-inverse-danger .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-danger .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom {
  background: #ff5e5e;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #ffdede;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #ff5e5e;
  border: none;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #ffdede;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #ff5e5e;
}
.bg-inverse-danger .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-light .breadcrumb {
  background: white;
  border-color: #f3f5f6;
}
.bg-inverse-light .breadcrumb .breadcrumb-item {
  color: #f3f5f6;
}
.bg-inverse-light .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-light .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom {
  background: #f3f5f6;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: white;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #f3f5f6;
  border: none;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: white;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #f3f5f6;
}
.bg-inverse-light .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

.bg-inverse-dark .breadcrumb {
  background: #1926b0;
  border-color: #090e40;
}
.bg-inverse-dark .breadcrumb .breadcrumb-item {
  color: #090e40;
}
.bg-inverse-dark .breadcrumb .breadcrumb-item:before {
  color: inherit;
}
.bg-inverse-dark .breadcrumb .breadcrumb-item a {
  color: inherit;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom {
  background: #090e40;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom .breadcrumb-item {
  background: #1926b0;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom .breadcrumb-item a {
  color: #090e40;
  border: none;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom .breadcrumb-item a:before {
  border-left-color: #1926b0;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom .breadcrumb-item span {
  color: #090e40;
}
.bg-inverse-dark .breadcrumb.breadcrumb-custom .breadcrumb-item:last-child {
  background: transparent;
}

/* Cards */
.card {
  border: 0;
  box-shadow: 0 2px 16px -11px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 2px 16px -11px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 2px 16px -11px rgba(0, 0, 0, 0.5);
}
.card .card-body {
  padding: 30px 30px;
}
.card .card-body + .card-body {
  padding-top: 0;
}
.card .card-img-overlay {
  padding: 30px 30px;
}
.card.card-outline-success {
  border: 1px solid #7ed321;
}
.card.card-outline-primary {
  border: 1px solid #439aff;
}
.card.card-outline-warning {
  border: 1px solid #f5a623;
}
.card.card-outline-danger {
  border: 1px solid #ff5e5e;
}
.card.card-rounded {
  border-radius: 5px;
}
.card.card-faded {
  background: #b5b0b2;
  border-color: #b5b0b2;
}
.card.card-circle-progress {
  color: #fff;
  text-align: center;
}

.card-inverse-primary {
  background: rgba(67, 154, 255, 0.2);
  border: 1px solid #3e8eeb;
  color: #3375c2;
}

.card-inverse-secondary {
  background: rgba(253, 186, 177, 0.2);
  border: 1px solid #e9aba3;
  color: #c08d87;
}

.card-inverse-success {
  background: rgba(126, 211, 33, 0.2);
  border: 1px solid #74c21e;
  color: #60a019;
}

.card-inverse-info {
  background: rgba(71, 41, 183, 0.2);
  border: 1px solid #4126a8;
  color: #361f8b;
}

.card-inverse-warning {
  background: rgba(245, 166, 35, 0.2);
  border: 1px solid #e19920;
  color: #ba7e1b;
}

.card-inverse-danger {
  background: rgba(255, 94, 94, 0.2);
  border: 1px solid #eb5656;
  color: #c24747;
}

.card-inverse-light {
  background: rgba(243, 245, 246, 0.2);
  border: 1px solid #e0e1e2;
  color: #b9babb;
}

.card-inverse-dark {
  background: rgba(9, 14, 64, 0.2);
  border: 1px solid #080d3b;
  color: #070b31;
}

/* Checkboxes and Radios */
.form-check {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-left: 0;
}
.form-check .form-check-label {
  min-height: 18px;
  display: block;
  margin-left: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.rtl .form-check .form-check-label {
  margin-left: 0;
  margin-right: 1.75rem;
}
.form-check .form-check-label input {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 0;
  margin-top: 0;
  z-index: 1;
  cursor: pointer;
  opacity: 0;
  filter: alpha(opacity=0);
}
.rtl .form-check .form-check-label input {
  left: auto;
  right: 0;
}
.form-check .form-check-label input[type=checkbox] + .input-helper:before, .form-check .form-check-label input[type=checkbox] + .input-helper:after {
  position: absolute;
  top: 0;
  left: 0;
}
.rtl .form-check .form-check-label input[type=checkbox] + .input-helper:before, .rtl .form-check .form-check-label input[type=checkbox] + .input-helper:after {
  left: auto;
  right: 0;
}
.form-check .form-check-label input[type=checkbox] + .input-helper:before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 100%;
  border: solid #f2f2f2;
  border-width: 2px;
  transition: all;
  transition-duration: 0s;
  transition-duration: 250ms;
}
.form-check .form-check-label input[type=checkbox] + .input-helper:after {
  transition: all;
  transition-duration: 0s;
  transition-duration: 250ms;
  font-family: "simple-line-icons";
  font-style: normal;
  opacity: 0;
  filter: alpha(opacity=0);
  transform: scale(0);
  content: "\e080";
  font-size: 1.125rem;
  font-weight: bold;
  color: #439aff;
  left: 1px;
}
.form-check .form-check-label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
  border-width: 0;
}
.form-check .form-check-label input[type=checkbox]:checked + .input-helper:after {
  width: 18px;
  opacity: 1;
  line-height: 18px;
  filter: alpha(opacity=100);
  transform: scale(1);
}
.form-check .form-check-label input[type=checkbox]:disabled + .input-helper:before {
  border-color: #f2f2f2;
}
.form-check .form-check-label input[type=checkbox]:disabled:checked + .input-helper:after {
  background: #fff;
  color: #f2f2f2;
}
.form-check .form-check-label input[type=radio] + .input-helper:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  border: solid #f2f2f2;
  border-width: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transition: all;
  transition-duration: 0s;
  transition-duration: 250ms;
}
.rtl .form-check .form-check-label input[type=radio] + .input-helper:before {
  left: auto;
  right: 0;
}
.form-check .form-check-label input[type=radio] + .input-helper:after {
  content: "";
  width: 8px;
  height: 8px;
  background: #439aff;
  border-radius: 50%;
  top: 6px;
  left: 6px;
  transition: all;
  transition-duration: 0s;
  transition-duration: 250ms;
  opacity: 0;
  filter: alpha(opacity=0);
  transform: scale(0);
  position: absolute;
}
.rtl .form-check .form-check-label input[type=radio] + .input-helper:after {
  left: auto;
  right: 6px;
}
.form-check .form-check-label input[type=radio]:checked + .input-helper:before {
  background: #fff;
  border: 2px solid #439aff;
}
.form-check .form-check-label input[type=radio]:checked + .input-helper:after {
  opacity: 1;
  line-height: 1.5;
  filter: alpha(opacity=100);
  transform: scale(1);
}
.form-check .form-check-label input[type=radio]:disabled + .input-helper:before {
  border-color: #f2f2f2;
}
.form-check .form-check-label input[type=radio]:disabled:checked + .input-helper:before {
  background: #fff;
}
.form-check .form-check-label input[type=radio]:disabled:checked + .input-helper:after {
  background: #f2f2f2;
}

.form-check-primary.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-primary.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #439aff;
}
.form-check-primary.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #439aff;
}
.form-check-primary.form-check label input[type=radio]:checked + .input-helper:after {
  background: #439aff;
}

.form-check-secondary.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-secondary.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #fdbab1;
}
.form-check-secondary.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #fdbab1;
}
.form-check-secondary.form-check label input[type=radio]:checked + .input-helper:after {
  background: #fdbab1;
}

.form-check-success.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-success.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #7ed321;
}
.form-check-success.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #7ed321;
}
.form-check-success.form-check label input[type=radio]:checked + .input-helper:after {
  background: #7ed321;
}

.form-check-info.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-info.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #4729b7;
}
.form-check-info.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #4729b7;
}
.form-check-info.form-check label input[type=radio]:checked + .input-helper:after {
  background: #4729b7;
}

.form-check-warning.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-warning.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #f5a623;
}
.form-check-warning.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #f5a623;
}
.form-check-warning.form-check label input[type=radio]:checked + .input-helper:after {
  background: #f5a623;
}

.form-check-danger.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-danger.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #ff5e5e;
}
.form-check-danger.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #ff5e5e;
}
.form-check-danger.form-check label input[type=radio]:checked + .input-helper:after {
  background: #ff5e5e;
}

.form-check-light.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-light.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #f3f5f6;
}
.form-check-light.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #f3f5f6;
}
.form-check-light.form-check label input[type=radio]:checked + .input-helper:after {
  background: #f3f5f6;
}

.form-check-dark.form-check label input[type=checkbox]:checked + .input-helper:before {
  background: #fff;
}
.form-check-dark.form-check label input[type=checkbox]:checked + .input-helper:after {
  color: #090e40;
}
.form-check-dark.form-check label input[type=radio]:checked + .input-helper:before {
  border-color: #090e40;
}
.form-check-dark.form-check label input[type=radio]:checked + .input-helper:after {
  background: #090e40;
}

/* Dropdowns */
.dropdown-menu {
  font-size: 0.875rem;
}
.dropdown-menu .dropdown-item:active {
  background: initial;
}

.dropdown-toggle:after {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  font-family: "simple-line-icons";
  content: "\e604";
  font-size: 0.625rem;
  vertical-align: initial;
  display: initial;
}

.dropup .dropdown-toggle:after {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  font-family: "simple-line-icons";
  content: "\e607";
  font-size: 0.625rem;
  vertical-align: initial;
  display: initial;
}

/* Forms */
.input-group-append,
.input-group-prepend,
.asColorPicker-trigger {
  background: #fff;
  color: #c9c8c8;
  width: auto;
  border: none;
}
.input-group-append .input-group-text,
.input-group-prepend .input-group-text,
.asColorPicker-trigger .input-group-text {
  background: transparent;
  border-color: #f2f2f2;
}

.form-control, .tt-hint,
.tt-query,
.typeahead, .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, .asColorPicker-input {
  border: 1px solid #f2f2f2;
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
  padding: 0.56rem 0.75rem;
  line-height: 14px;
  font-weight: 300;
}
.form-control.form-control-lg, .form-control-lg.tt-hint,
.form-control-lg.tt-query,
.form-control-lg.typeahead, .select2-container--default .select2-selection--single .form-control-lg.select2-search__field, .select2-container--default .form-control-lg.select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input.form-control-lg[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input.form-control-lg[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select.form-control-lg, .dataTables_wrapper select.form-control-lg, .form-control-lg.asColorPicker-input {
  padding: 0.5rem 0.75rem;
}
.form-control.form-control-sm, .form-control-sm.tt-hint,
.form-control-sm.tt-query,
.form-control-sm.typeahead, .select2-container--default .select2-selection--single .form-control-sm.select2-search__field, .select2-container--default .form-control-sm.select2-selection--single, .jsgrid .jsgrid-table .jsgrid-filter-row input.form-control-sm[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row input.form-control-sm[type=text],
.jsgrid .jsgrid-table .jsgrid-filter-row select.form-control-sm, .dataTables_wrapper select.form-control-sm, .form-control-sm.asColorPicker-input {
  padding: 0.25rem 0.75rem;
}

select.form-control, select.tt-hint,
select.tt-query,
select.typeahead, .select2-container--default .select2-selection--single select.select2-search__field, .select2-container--default select.select2-selection--single,
.jsgrid .jsgrid-table .jsgrid-filter-row select, .dataTables_wrapper select, select.asColorPicker-input {
  padding: 0.4375rem 0.75rem;
}

.form-group label {
  font-size: 0.875rem;
  line-height: 1;
  vertical-align: top;
}
.form-group.has-danger .form-control, .form-group.has-danger .tt-hint,
.form-group.has-danger .tt-query,
.form-group.has-danger .typeahead, .form-group.has-danger .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .form-group.has-danger .select2-search__field, .form-group.has-danger .select2-container--default .select2-selection--single, .select2-container--default .form-group.has-danger .select2-selection--single, .form-group.has-danger .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .form-group.has-danger input[type=number], .form-group.has-danger .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .form-group.has-danger input[type=text],
.form-group.has-danger .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .form-group.has-danger select, .form-group.has-danger .dataTables_wrapper select, .dataTables_wrapper .form-group.has-danger select, .form-group.has-danger .asColorPicker-input {
  border-color: #ff5e5e;
}
.form-group .file-upload-default {
  visibility: hidden;
  position: absolute;
}
.form-group .file-upload-info {
  background: transparent;
}

.map-container {
  position: relative;
  min-width: 100%;
  max-width: 100%;
  display: block;
  padding: 35% 0;
  overflow: hidden;
  border-radius: 5px;
}
.map-container .google-map {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.map-container .google-map.no-controls .gm-style-cc,
.map-container .google-map.no-controls .gmnoprint {
  display: none;
}

/* Icons */
.icons-list {
  border-left: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
}
.icons-list > div {
  background: #fff;
  border-top: 1px solid #f2f2f2;
  border-right: 1px solid #f2f2f2;
  display: flex;
  align-items: center;
  padding: 15px;
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
}
.icons-list > div i {
  display: inline-block;
  font-size: 20px;
  width: 40px;
  text-align: left;
  color: #439aff;
}

.icon-in-bg {
  width: 55px;
  height: 55px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Lists */
dl,
ol,
ul {
  padding-left: 1rem;
  font-size: 0.875rem;
}
dl li,
ol li,
ul li {
  line-height: 1.8;
}

.list-arrow,
.list-star,
.list-ticked {
  list-style: none;
  padding: 0;
}
.list-arrow li,
.list-star li,
.list-ticked li {
  padding-left: 1.5rem;
}
.list-arrow li:before,
.list-star li:before,
.list-ticked li:before {
  font-family: "simple-line-icons";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: -1.5rem;
  width: 1.5rem;
  margin-right: 0.5rem;
}

.list-ticked li:before {
  content: "\e080";
  color: #439aff;
}

.list-arrow li:before {
  content: "\e606";
  color: #7ed321;
}

.list-star li:before {
  content: "\e09b";
  color: #f5a623;
}

.bullet-line-list {
  padding-left: 30px;
  position: relative;
  list-style-type: none;
}
.rtl .bullet-line-list {
  padding-left: unset;
  padding-right: 30px;
}
.bullet-line-list li {
  position: relative;
}
.bullet-line-list li:before {
  width: 15px;
  height: 15px;
  left: -30px;
  top: 15px;
  border: 4px solid #439aff;
  margin-right: 15px;
  z-index: 2;
  background: #fff;
}
.rtl .bullet-line-list li:before {
  left: unset;
  right: -45px;
}
.bullet-line-list li:before {
  content: "";
  position: absolute;
  border-radius: 100%;
}
.bullet-line-list:after {
  content: "";
  border: 1px solid #f2f2f2;
  position: absolute;
  top: 30px;
  bottom: 0;
  left: 7px;
}
.rtl .bullet-line-list:after {
  left: unset;
  right: 7px;
}

/* Loaders */
#pgloading {
  position: static;
}
#pgloading .bokeh {
  font-size: 100px;
  width: 1em;
  height: 1em;
  position: relative;
  margin: 0 auto;
  border-radius: 50%;
  border: 0.01em solid #f2f2f2;
  list-style: none;
  padding: 0;
}
#pgloading .bokeh li {
  position: absolute;
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
}
#pgloading .bokeh li:nth-child(1) {
  left: 50%;
  top: 0;
  margin: 0 0 0 -0.1em;
  background: #7ed321;
  transform-origin: 50% 250%;
  animation: rota 1.13s linear infinite, opa 3.67s ease-in-out infinite alternate;
}
#pgloading .bokeh li:nth-child(2) {
  top: 50%;
  right: 0;
  margin: -0.1em 0 0;
  background: #ff5e5e;
  transform-origin: -150% 50%;
  animation: rota 1.86s linear infinite, opa 4.29s ease-in-out infinite alternate;
}
#pgloading .bokeh li:nth-child(3) {
  left: 50%;
  bottom: 0;
  margin: 0 0 0 -0.1em;
  background: #f5a623;
  transform-origin: 50% -150%;
  animation: rota 1.45s linear infinite, opa 5.12s ease-in-out infinite alternate;
}
#pgloading .bokeh li:nth-child(4) {
  top: 50%;
  left: 0;
  margin: -0.1em 0 0;
  background: #439aff;
  transform-origin: 250% 50%;
  animation: rota 1.72s linear infinite, opa 5.25s ease-in-out infinite alternate;
}
@keyframes rota {
  to {
    transform: rotate(360deg);
  }
}
@keyframes opa {
  12.0% {
    opacity: 0.8;
  }
  19.5% {
    opacity: 0.88;
  }
  37.2% {
    opacity: 0.64;
  }
  40.5% {
    opacity: 0.52;
  }
  52.7% {
    opacity: 0.69;
  }
  60.2% {
    opacity: 0.6;
  }
  66.6% {
    opacity: 0.52;
  }
  70.0% {
    opacity: 0.63;
  }
  79.9% {
    opacity: 0.6;
  }
  84.2% {
    opacity: 0.75;
  }
  91.0% {
    opacity: 0.87;
  }
}
.glowing-loader {
  position: relative;
}

.s2 {
  position: absolute;
  height: 70px;
  width: 70px;
  top: 50px;
  background-color: transparent;
  left: 50%;
  transform: translate(-50%, -50%);
}

.s1 {
  position: absolute;
  height: 70px;
  width: 70px;
  left: 50%;
  top: 50px;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: transparent;
}

.bigcon {
  position: absolute;
  height: 75px;
  width: 75px;
  left: 50%;
  top: 50px;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(-45deg);
  background-color: transparent;
  animation: bigcon 2s infinite linear;
  animation-delay: 0.25s;
}

.b {
  border-radius: 50%;
  position: absolute;
}

.s {
  width: 15px;
  height: 15px;
  animation: small 2s infinite ease;
  box-shadow: 0 2px rgba(0, 0, 0, 0.3);
  background-color: #439aff;
}

.s:nth-child(1) {
  top: 0;
  left: 0;
}

.s:nth-child(2) {
  top: 0;
  right: 0;
}

.s:nth-child(3) {
  right: 0;
  bottom: 0;
}

.s:nth-child(4) {
  bottom: 0;
  left: 0;
}

.big {
  width: 15px;
  height: 15px;
  border-radius: 15px;
  box-shadow: 0 0 10px #439aff, 0 0 20px #439aff, 0 0 30px #439aff, 0 0 50px #439aff, 0 0 60px #439aff;
  z-index: 1;
  background-color: #439aff;
  animation: bigball 1s infinite linear;
}

.sb1 {
  animation-delay: -1.75s;
}

.sb6 {
  animation-delay: -1.5s;
}

.sb2 {
  animation-delay: -1.25s;
}

.sb7 {
  animation-delay: -1s;
}

.sb3 {
  animation-delay: -0.75s;
}

.sb8 {
  animation-delay: -0.5s;
}

.sb4 {
  animation-delay: -0.25s;
}

.sb5 {
  animation-delay: 0s;
}

@keyframes bigcon {
  0% {
    transform-origin: center;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  100% {
    transform-origin: center;
    transform: translate(-50%, -50%) rotate(405deg);
  }
}
@keyframes small {
  0% {
    transform: scale(1);
    background-color: #a9d1ff;
  }
  10% {
    transform: scale(1.3);
    background-color: #439aff;
  }
  15% {
    transform: scale(1);
  }
  25% {
    transform: scale(1);
    background-color: #439aff;
  }
  100% {
    transform: scale(1);
    background-color: #439aff;
  }
}
/* Pixel loader */
.pixel-loader {
  width: 10px;
  height: 10px;
  background: #f5a623;
  color: #f5a623;
  margin: 80px auto;
  box-shadow: 15px 15px 0 0, -15px -15px 0 0, 15px -15px 0 0, -15px 15px 0 0, 0 15px 0 0, 15px 0 0 0, -15px 0 0 0, 0 -15px 0 0;
  animation: anim 2s linear infinite;
}

@keyframes anim {
  0% {
    -webkit-filter: hue-rotate(0deg);
  }
  50% {
    box-shadow: 20px 20px 0 0, -20px -20px 0 0, 20px -20px 0 0, -20px 20px 0 0, 0 10px 0 0, 10px 0 0 0, -10px 0 0 0, 0 -10px 0 0;
  }
  75% {
    box-shadow: 20px 20px 0 0, -20px -20px 0 0, 20px -20px 0 0, -20px 20px 0 0, 0 10px 0 0, 10px 0 0 0, -10px 0 0 0, 0 -10px 0 0;
  }
  100% {
    transform: rotate(360deg);
    -webkit-filter: hue-rotate(360deg);
  }
}
/* Square box loader */
@keyframes dyinglight {
  15% {
    transform: scale(1.6);
  }
  50% {
    transform: rotate(-89deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
.square-box-loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
}

.square-box-loader-square {
  display: block;
  width: 30px;
  height: 30px;
  background: #439aff;
}

.square-box-loader-container {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  transform-origin: 50% 50% 0;
  animation: dyinglight 1s ease infinite;
  backface-visibility: hidden;
}

.square-box-loader-corner-bottom:after,
.square-box-loader-corner-bottom:before,
.square-box-loader-corner-top:after,
.square-box-loader-corner-top:before {
  position: absolute;
  width: 10px;
  height: 10px;
  color: #439aff;
  content: "";
}

.square-box-loader-corner-top:before {
  border-left: 1px solid;
  border-top: 1px solid;
  top: -4px;
  left: -4px;
}
.square-box-loader-corner-top:after {
  border-right: 1px solid;
  border-top: 1px solid;
  top: -4px;
  right: -4px;
}

.square-box-loader-corner-bottom:before {
  border-left: 1px solid;
  border-bottom: 1px solid;
  bottom: -4px;
  left: -4px;
}
.square-box-loader-corner-bottom:after {
  border-right: 1px solid;
  border-bottom: 1px solid;
  bottom: -4px;
  right: -4px;
}

/* Circle loader */
.circle-loader {
  width: 70px;
  height: 70px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.circle-loader:after,
.circle-loader:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border: 10px solid transparent;
  border-top-color: #f5a623;
}

.circle-loader:before {
  z-index: 100;
  animation: spin 1s infinite;
}

.circle-loader:after {
  border: 10px solid #fdbab1;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Jumping dots loader */
.jumping-dots-loader {
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.jumping-dots-loader span {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: rgba(255, 94, 94, 0.8);
  margin: 35px 5px;
}

.jumping-dots-loader span:nth-child(1) {
  animation: bounce 1s ease-in-out infinite;
}

.jumping-dots-loader span:nth-child(2) {
  animation: bounce 1s ease-in-out 0.33s infinite;
}

.jumping-dots-loader span:nth-child(3) {
  animation: bounce 1s ease-in-out 0.66s infinite;
}

@keyframes bounce {
  0%, 100%, 75% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-20px);
  }
}
/* Bar loader */
.bar-loader {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.bar-loader span {
  display: inline-block;
  width: 5px;
  height: 30px;
  background-color: rgba(255, 94, 94, 0.7);
}

.bar-loader span:nth-child(1) {
  animation: grow 1s ease-in-out infinite;
}

.bar-loader span:nth-child(2) {
  animation: grow 1s ease-in-out 0.15s infinite;
}

.bar-loader span:nth-child(3) {
  animation: grow 1s ease-in-out 0.3s infinite;
}

.bar-loader span:nth-child(4) {
  animation: grow 1s ease-in-out 0.45s infinite;
}

@keyframes grow {
  0%, 100% {
    transform: scaleY(1);
  }
  50% {
    transform: scaleY(1.8);
  }
}
/* Square path loader */
.square-path-loader {
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.square-path-loader:after,
.square-path-loader:before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  left: calc(50% - 10px);
  background-color: rgba(126, 211, 33, 0.7);
  animation: squaremove 1s ease-in-out infinite;
}

.square-path-loader:after {
  bottom: 0;
  animation-delay: 0.5s;
}

@keyframes squaremove {
  0%, 100% {
    transform: translate(0, 0) rotate(0);
  }
  25% {
    transform: translate(40px, 40px) rotate(45deg);
  }
  50% {
    transform: translate(0px, 80px) rotate(0deg);
  }
  75% {
    transform: translate(-40px, 40px) rotate(45deg);
  }
}
/* Dot opacity loader */
.dot-opacity-loader {
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.dot-opacity-loader span {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #439aff;
  margin: 35px 5px;
  opacity: 0;
}

.dot-opacity-loader span:nth-child(1) {
  animation: opacitychange 1s ease-in-out infinite;
}

.dot-opacity-loader span:nth-child(2) {
  animation: opacitychange 1s ease-in-out 0.33s infinite;
}

.dot-opacity-loader span:nth-child(3) {
  animation: opacitychange 1s ease-in-out 0.66s infinite;
}

@keyframes opacitychange {
  0%, 100% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}
/* Flip square */
.flip-square-loader {
  -ms-perspective: 120px;
  perspective: 120px;
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.flip-square-loader:before {
  content: "";
  position: absolute;
  left: 25px;
  top: 25px;
  width: 50px;
  height: 50px;
  background-color: rgba(126, 211, 33, 0.7);
  animation: flip 1s infinite;
}

@keyframes flip {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotateY(180deg);
  }
  100% {
    transform: rotateY(180deg) rotateX(180deg);
  }
}
/* Moving square loader */
.moving-square-loader {
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  margin: 0 auto;
}

.moving-square-loader:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: calc(50% - 10px);
  left: 0;
  background-color: rgba(255, 94, 94, 0.7);
  animation: rotatemove 1s infinite;
}

@keyframes rotatemove {
  0% {
    transform: scale(1) translateX(0px);
  }
  100% {
    transform: scale(2) translateX(45px);
  }
}
/* Modals */
.modal .modal-dialog {
  margin-top: calc(60px + 30px);
}
.modal .modal-dialog .modal-content .modal-header {
  padding: 25px 26px;
}
.modal .modal-dialog .modal-content .modal-header .close span {
  font-size: 20px;
  font-weight: 400;
  color: #6a6a6a;
}
.modal .modal-dialog .modal-content .modal-body {
  padding: 35px 26px;
}
.modal .modal-dialog .modal-content .modal-footer {
  padding: 15px 31px;
}

/* New Account */
.new-accounts {
  overflow: hidden;
  position: relative;
}
.new-accounts ul.chats {
  height: 100%;
  padding: 0;
  margin-bottom: 0;
  overflow-x: hidden;
}
.new-accounts ul.chats li.chat-persons {
  padding: 15px 0;
  display: block;
  border-bottom: 1px solid #f2f2f2;
}
.new-accounts ul.chats li.chat-persons:last-child {
  border-bottom: none;
}
.new-accounts ul.chats li.chat-persons .btn.btn-xs, .new-accounts ul.chats li.chat-persons .wizard > .actions a.btn-xs, .wizard > .actions .new-accounts ul.chats li.chat-persons a.btn-xs, .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-cancel, .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-cancel, .wizard > .actions .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .btn.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .wizard > .actions a.editable-cancel, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons a.editable-cancel, .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .btn.editable-submit, .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .wizard > .actions a.editable-submit, .wizard > .actions .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons a.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .btn.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .wizard > .actions a.editable-submit, .wizard > .actions .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons a.editable-submit, .new-accounts ul.chats li.chat-persons .swal2-modal .swal2-buttonswrapper .btn-xs.swal2-styled, .new-accounts ul.chats li.chat-persons .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-cancel, .new-accounts ul.chats li.chat-persons .swal2-modal .swal2-buttonswrapper .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .swal2-modal .swal2-buttonswrapper .swal2-styled.editable-submit, .swal2-modal .swal2-buttonswrapper .new-accounts ul.chats li.chat-persons .btn-xs.swal2-styled, .swal2-modal .swal2-buttonswrapper .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .new-accounts ul.chats li.chat-persons .swal2-styled.editable-cancel, .swal2-modal .swal2-buttonswrapper .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-styled.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .swal2-modal .swal2-buttonswrapper .new-accounts ul.chats li.chat-persons .swal2-styled.editable-submit, .new-accounts ul.chats li.chat-persons .ajax-upload-dragdrop .btn-xs.ajax-file-upload, .new-accounts ul.chats li.chat-persons .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .ajax-upload-dragdrop .ajax-file-upload.editable-cancel, .new-accounts ul.chats li.chat-persons .ajax-upload-dragdrop .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .new-accounts ul.chats li.chat-persons .ajax-upload-dragdrop .ajax-file-upload.editable-submit, .ajax-upload-dragdrop .new-accounts ul.chats li.chat-persons .btn-xs.ajax-file-upload, .ajax-upload-dragdrop .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-cancel, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .new-accounts ul.chats li.chat-persons .ajax-file-upload.editable-cancel, .ajax-upload-dragdrop .new-accounts ul.chats li.chat-persons .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-file-upload.editable-submit, .editable-container.editable-inline .editableform .control-group .editable-buttons .ajax-upload-dragdrop .new-accounts ul.chats li.chat-persons .ajax-file-upload.editable-submit {
  padding: 0.2rem 0.75rem;
}
.new-accounts ul.chats li.chat-persons a {
  text-decoration: none;
}
.new-accounts ul.chats li.chat-persons a span.pro-pic {
  display: inline-block;
  padding: 0;
  width: 20%;
  max-width: 40px;
}
.new-accounts ul.chats li.chat-persons a span.pro-pic img {
  max-width: 100%;
  width: 100%;
  border-radius: 100%;
}
.new-accounts ul.chats li.chat-persons a div.user {
  width: 60%;
  padding: 5px 10px 0 15px;
}
.new-accounts ul.chats li.chat-persons a div.user p.u-name {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 18px;
  color: #090e40;
}
.new-accounts ul.chats li.chat-persons a div.user p.u-designation {
  margin: 0;
  font-size: 11px;
}
.new-accounts ul.chats li.chat-persons a p.joined-date {
  text-align: right;
  margin-left: auto;
  margin-bottom: 0;
  font-size: 12px;
}
.rtl .new-accounts ul.chats li.chat-persons a p.joined-date {
  margin-left: 0;
  margin-right: auto;
}

/* Pagination */
.pagination .page-item .page-link, .jsgrid .jsgrid-pager .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page a {
  border-color: #f2f2f2;
  font-size: 0.875rem;
  font-weight: 400;
  transition-duration: 0.3s;
}
.pagination .page-item .page-link:focus, .jsgrid .jsgrid-pager .page-item .page-link:focus, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:focus, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:focus,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:focus,
.jsgrid .jsgrid-pager .jsgrid-pager-page a:focus {
  background: inherit;
}
.pagination .page-item .page-link i:before, .jsgrid .jsgrid-pager .page-item .page-link i:before, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link i:before, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a i:before,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-link i:before,
.jsgrid .jsgrid-pager .jsgrid-pager-page a i:before {
  font-size: inherit;
  line-height: 1;
  vertical-align: middle;
}
.pagination .page-item.active .page-link, .pagination .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.pagination .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a, .jsgrid .jsgrid-pager .page-item.active .page-link, .jsgrid .jsgrid-pager .page-item.active .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item.active a,
.jsgrid .jsgrid-pager .page-item.active .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item.active a, .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a,
.jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .active.jsgrid-pager-page a, .pagination .page-item:active .page-link, .pagination .page-item:active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.pagination .page-item:active .jsgrid .jsgrid-pager .jsgrid-pager-page a, .jsgrid .jsgrid-pager .page-item:active .page-link, .jsgrid .jsgrid-pager .page-item:active .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item:active a,
.jsgrid .jsgrid-pager .page-item:active .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item:active a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:active .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:active a,
.jsgrid .jsgrid-pager .jsgrid-pager-page:active .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page:active a, .pagination .page-item:focus .page-link, .pagination .page-item:focus .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.pagination .page-item:focus .jsgrid .jsgrid-pager .jsgrid-pager-page a, .jsgrid .jsgrid-pager .page-item:focus .page-link, .jsgrid .jsgrid-pager .page-item:focus .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item:focus a,
.jsgrid .jsgrid-pager .page-item:focus .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item:focus a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:focus .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:focus a,
.jsgrid .jsgrid-pager .jsgrid-pager-page:focus .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page:focus a, .pagination .page-item:hover .page-link, .pagination .page-item:hover .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a,
.pagination .page-item:hover .jsgrid .jsgrid-pager .jsgrid-pager-page a, .jsgrid .jsgrid-pager .page-item:hover .page-link, .jsgrid .jsgrid-pager .page-item:hover .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-item:hover a,
.jsgrid .jsgrid-pager .page-item:hover .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .page-item:hover a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:hover .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:hover a,
.jsgrid .jsgrid-pager .jsgrid-pager-page:hover .page-link,
.jsgrid .jsgrid-pager .jsgrid-pager-page:hover a {
  background: #439aff;
  border-color: #439aff;
  color: #fff;
}
.pagination.flat .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.flat .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.flat .page-item a, .pagination.flat .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination.flat .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination.flat .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination.flat .jsgrid-pager-nav-button a,
.pagination.flat .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination.flat .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination.flat .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination.flat .jsgrid-pager-page a, .jsgrid .flat.jsgrid-pager .page-item .page-link, .jsgrid .flat.jsgrid-pager .jsgrid-pager-nav-button .page-link, .jsgrid .flat.jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .flat.jsgrid-pager .jsgrid-pager-page .page-link,
.jsgrid .flat.jsgrid-pager .jsgrid-pager-page a {
  border: none;
  border-radius: 2px;
}
.pagination.separated .page-item, .pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button, .jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-nav-button,
.pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-page,
.jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-page, .jsgrid .separated.jsgrid-pager .page-item, .jsgrid .separated.jsgrid-pager .jsgrid-pager-nav-button,
.jsgrid .separated.jsgrid-pager .jsgrid-pager-page {
  margin-left: 2px;
  margin-right: 2px;
}
.pagination.separated .page-item:first-child, .pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child, .jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-nav-button:first-child,
.pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child,
.jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-page:first-child, .jsgrid .separated.jsgrid-pager .page-item:first-child, .jsgrid .separated.jsgrid-pager .jsgrid-pager-nav-button:first-child,
.jsgrid .separated.jsgrid-pager .jsgrid-pager-page:first-child {
  margin-left: 0;
}
.pagination.separated .page-item:last-child, .pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child, .jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-nav-button:last-child,
.pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child,
.jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-page:last-child, .jsgrid .separated.jsgrid-pager .page-item:last-child, .jsgrid .separated.jsgrid-pager .jsgrid-pager-nav-button:last-child,
.jsgrid .separated.jsgrid-pager .jsgrid-pager-page:last-child {
  margin-right: 0;
}
.pagination.separated .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.separated .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.separated .page-item a, .pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-nav-button a,
.pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination.separated .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination.separated .jsgrid-pager-page a, .jsgrid .separated.jsgrid-pager .page-item .page-link, .jsgrid .separated.jsgrid-pager .jsgrid-pager-nav-button .page-link, .jsgrid .separated.jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .separated.jsgrid-pager .jsgrid-pager-page .page-link,
.jsgrid .separated.jsgrid-pager .jsgrid-pager-page a {
  border-radius: 2px;
}
.pagination.rounded .page-item:first-child .page-link, .pagination.rounded .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded .page-item:first-child a,
.pagination.rounded .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded .page-item:first-child a, .pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a, .jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-nav-button:first-child a,
.pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a,
.jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-page:first-child a, .jsgrid .rounded.jsgrid-pager .page-item:first-child .page-link, .jsgrid .rounded.jsgrid-pager .page-item:first-child .jsgrid-pager-nav-button a, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button .page-item:first-child a,
.jsgrid .rounded.jsgrid-pager .page-item:first-child .jsgrid-pager-page a,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page .page-item:first-child a, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button:first-child a,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page:first-child a, .pagination.loader-demo-box .page-item:first-child .page-link, .pagination.loader-demo-box .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.loader-demo-box .page-item:first-child a,
.pagination.loader-demo-box .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.loader-demo-box .page-item:first-child a, .pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a, .jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-nav-button:first-child a,
.pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a,
.jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-page:first-child a, .jsgrid .loader-demo-box.jsgrid-pager .page-item:first-child .page-link, .jsgrid .loader-demo-box.jsgrid-pager .page-item:first-child .jsgrid-pager-nav-button a, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button .page-item:first-child a,
.jsgrid .loader-demo-box.jsgrid-pager .page-item:first-child .jsgrid-pager-page a,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page .page-item:first-child a, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button:first-child a,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page:first-child a {
  border-radius: 25px 0 0 25px;
}
.pagination.rounded .page-item:last-child .page-link, .pagination.rounded .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded .page-item:last-child a,
.pagination.rounded .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded .page-item:last-child a, .pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a, .jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-nav-button:last-child a,
.pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.pagination.rounded .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a,
.jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .pagination.rounded .jsgrid-pager-page:last-child a, .jsgrid .rounded.jsgrid-pager .page-item:last-child .page-link, .jsgrid .rounded.jsgrid-pager .page-item:last-child .jsgrid-pager-nav-button a, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button .page-item:last-child a,
.jsgrid .rounded.jsgrid-pager .page-item:last-child .jsgrid-pager-page a,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page .page-item:last-child a, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .rounded.jsgrid-pager .jsgrid-pager-nav-button:last-child a,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.jsgrid .rounded.jsgrid-pager .jsgrid-pager-page:last-child a, .pagination.loader-demo-box .page-item:last-child .page-link, .pagination.loader-demo-box .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.loader-demo-box .page-item:last-child a,
.pagination.loader-demo-box .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.loader-demo-box .page-item:last-child a, .pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a, .jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-nav-button:last-child a,
.pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.pagination.loader-demo-box .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a,
.jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .pagination.loader-demo-box .jsgrid-pager-page:last-child a, .jsgrid .loader-demo-box.jsgrid-pager .page-item:last-child .page-link, .jsgrid .loader-demo-box.jsgrid-pager .page-item:last-child .jsgrid-pager-nav-button a, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button .page-item:last-child a,
.jsgrid .loader-demo-box.jsgrid-pager .page-item:last-child .jsgrid-pager-page a,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page .page-item:last-child a, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-nav-button:last-child a,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.jsgrid .loader-demo-box.jsgrid-pager .jsgrid-pager-page:last-child a {
  border-radius: 0 25px 25px 0;
}
.pagination.rounded-flat .page-item, .pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-nav-button, .jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-nav-button,
.pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-page,
.jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-page, .jsgrid .rounded-flat.jsgrid-pager .page-item, .jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-nav-button,
.jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-page {
  margin-right: 3px;
  margin-left: 3px;
}
.pagination.rounded-flat .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded-flat .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded-flat .page-item a, .pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-nav-button a,
.pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination.rounded-flat .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination.rounded-flat .jsgrid-pager-page a, .jsgrid .rounded-flat.jsgrid-pager .page-item .page-link, .jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-nav-button .page-link, .jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-page .page-link,
.jsgrid .rounded-flat.jsgrid-pager .jsgrid-pager-page a {
  border: none;
  border-radius: 50px;
}
.pagination.rounded-separated .page-item, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page, .jsgrid .rounded-separated.jsgrid-pager .page-item, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page {
  margin-left: 2px;
  margin-right: 2px;
}
.pagination.rounded-separated .page-item:first-child, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:first-child,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:first-child, .jsgrid .rounded-separated.jsgrid-pager .page-item:first-child, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:first-child,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:first-child {
  margin-left: 0;
}
.pagination.rounded-separated .page-item:first-child .page-link, .pagination.rounded-separated .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded-separated .page-item:first-child a,
.pagination.rounded-separated .page-item:first-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded-separated .page-item:first-child a, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:first-child a, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:first-child a,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:first-child a,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:first-child .page-link,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:first-child a, .jsgrid .rounded-separated.jsgrid-pager .page-item:first-child .page-link, .jsgrid .rounded-separated.jsgrid-pager .page-item:first-child .jsgrid-pager-nav-button a, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button .page-item:first-child a,
.jsgrid .rounded-separated.jsgrid-pager .page-item:first-child .jsgrid-pager-page a,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page .page-item:first-child a, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:first-child .page-link, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:first-child a,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:first-child .page-link,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:first-child a {
  border-radius: 10px 0 0 10px;
}
.pagination.rounded-separated .page-item:last-child, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:last-child,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:last-child, .jsgrid .rounded-separated.jsgrid-pager .page-item:last-child, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:last-child,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:last-child {
  margin-right: 0;
}
.pagination.rounded-separated .page-item:last-child .page-link, .pagination.rounded-separated .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded-separated .page-item:last-child a,
.pagination.rounded-separated .page-item:last-child .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded-separated .page-item:last-child a, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button:last-child a, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button:last-child a,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page:last-child a,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:last-child .page-link,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page:last-child a, .jsgrid .rounded-separated.jsgrid-pager .page-item:last-child .page-link, .jsgrid .rounded-separated.jsgrid-pager .page-item:last-child .jsgrid-pager-nav-button a, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button .page-item:last-child a,
.jsgrid .rounded-separated.jsgrid-pager .page-item:last-child .jsgrid-pager-page a,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page .page-item:last-child a, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:last-child .page-link, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button:last-child a,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:last-child .page-link,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page:last-child a {
  border-radius: 0 10px 10px 0;
}
.pagination.rounded-separated .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination.rounded-separated .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination.rounded-separated .page-item a, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-nav-button a,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination.rounded-separated .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination.rounded-separated .jsgrid-pager-page a, .jsgrid .rounded-separated.jsgrid-pager .page-item .page-link, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button .page-link, .jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-nav-button a,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page .page-link,
.jsgrid .rounded-separated.jsgrid-pager .jsgrid-pager-page a {
  border-radius: 2px;
}

/* pagination variations */
.pagination-primary .page-item.active .page-link, .pagination-primary .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-primary .page-item.active a,
.pagination-primary .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-primary .page-item.active a, .pagination-primary .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-primary .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-primary .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-primary .active.jsgrid-pager-nav-button a,
.pagination-primary .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-primary .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-primary .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-primary .active.jsgrid-pager-page a {
  background: #439aff;
  border-color: #439aff;
}
.pagination-primary .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-primary .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-primary .page-item a, .pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-nav-button a,
.pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-page a {
  color: #439aff;
  border-color: rgba(67, 154, 255, 0.3);
}
.pagination-primary .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-primary .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-primary .page-item a:hover, .pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-nav-button a:hover,
.pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-primary .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-primary .jsgrid-pager-page a:hover {
  background: #5da8ff;
  border-color: #439aff;
  color: #fff;
}

.pagination-secondary .page-item.active .page-link, .pagination-secondary .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-secondary .page-item.active a,
.pagination-secondary .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-secondary .page-item.active a, .pagination-secondary .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-secondary .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-secondary .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-secondary .active.jsgrid-pager-nav-button a,
.pagination-secondary .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-secondary .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-secondary .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-secondary .active.jsgrid-pager-page a {
  background: #fdbab1;
  border-color: #fdbab1;
}
.pagination-secondary .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-secondary .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-secondary .page-item a, .pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-nav-button a,
.pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-page a {
  color: #fdbab1;
  border-color: rgba(253, 186, 177, 0.3);
}
.pagination-secondary .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-secondary .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-secondary .page-item a:hover, .pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-nav-button a:hover,
.pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-secondary .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-secondary .jsgrid-pager-page a:hover {
  background: #fed0ca;
  border-color: #fdbab1;
  color: #fff;
}

.pagination-success .page-item.active .page-link, .pagination-success .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-success .page-item.active a,
.pagination-success .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-success .page-item.active a, .pagination-success .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-success .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-success .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-success .active.jsgrid-pager-nav-button a,
.pagination-success .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-success .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-success .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-success .active.jsgrid-pager-page a {
  background: #7ed321;
  border-color: #7ed321;
}
.pagination-success .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-success .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-success .page-item a, .pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-nav-button a,
.pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-page a {
  color: #7ed321;
  border-color: rgba(126, 211, 33, 0.3);
}
.pagination-success .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-success .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-success .page-item a:hover, .pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-nav-button a:hover,
.pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-success .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-success .jsgrid-pager-page a:hover {
  background: #8bde2f;
  border-color: #7ed321;
  color: #fff;
}

.pagination-info .page-item.active .page-link, .pagination-info .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-info .page-item.active a,
.pagination-info .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-info .page-item.active a, .pagination-info .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-info .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-info .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-info .active.jsgrid-pager-nav-button a,
.pagination-info .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-info .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-info .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-info .active.jsgrid-pager-page a {
  background: #4729b7;
  border-color: #4729b7;
}
.pagination-info .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-info .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-info .page-item a, .pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-nav-button a,
.pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-page a {
  color: #4729b7;
  border-color: rgba(71, 41, 183, 0.3);
}
.pagination-info .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-info .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-info .page-item a:hover, .pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-nav-button a:hover,
.pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-info .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-info .jsgrid-pager-page a:hover {
  background: #4f2ecc;
  border-color: #4729b7;
  color: #fff;
}

.pagination-warning .page-item.active .page-link, .pagination-warning .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-warning .page-item.active a,
.pagination-warning .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-warning .page-item.active a, .pagination-warning .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-warning .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-warning .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-warning .active.jsgrid-pager-nav-button a,
.pagination-warning .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-warning .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-warning .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-warning .active.jsgrid-pager-page a {
  background: #f5a623;
  border-color: #f5a623;
}
.pagination-warning .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-warning .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-warning .page-item a, .pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-nav-button a,
.pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-page a {
  color: #f5a623;
  border-color: rgba(245, 166, 35, 0.3);
}
.pagination-warning .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-warning .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-warning .page-item a:hover, .pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-nav-button a:hover,
.pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-warning .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-warning .jsgrid-pager-page a:hover {
  background: #f6b03b;
  border-color: #f5a623;
  color: #fff;
}

.pagination-danger .page-item.active .page-link, .pagination-danger .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-danger .page-item.active a,
.pagination-danger .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-danger .page-item.active a, .pagination-danger .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-danger .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-danger .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-danger .active.jsgrid-pager-nav-button a,
.pagination-danger .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-danger .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-danger .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-danger .active.jsgrid-pager-page a {
  background: #ff5e5e;
  border-color: #ff5e5e;
}
.pagination-danger .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-danger .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-danger .page-item a, .pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-nav-button a,
.pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-page a {
  color: #ff5e5e;
  border-color: rgba(255, 94, 94, 0.3);
}
.pagination-danger .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-danger .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-danger .page-item a:hover, .pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-nav-button a:hover,
.pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-danger .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-danger .jsgrid-pager-page a:hover {
  background: #ff7878;
  border-color: #ff5e5e;
  color: #fff;
}

.pagination-light .page-item.active .page-link, .pagination-light .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-light .page-item.active a,
.pagination-light .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-light .page-item.active a, .pagination-light .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-light .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-light .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-light .active.jsgrid-pager-nav-button a,
.pagination-light .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-light .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-light .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-light .active.jsgrid-pager-page a {
  background: #f3f5f6;
  border-color: #f3f5f6;
}
.pagination-light .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-light .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-light .page-item a, .pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-nav-button a,
.pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-page a {
  color: #f3f5f6;
  border-color: rgba(243, 245, 246, 0.3);
}
.pagination-light .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-light .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-light .page-item a:hover, .pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-nav-button a:hover,
.pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-light .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-light .jsgrid-pager-page a:hover {
  background: white;
  border-color: #f3f5f6;
  color: #fff;
}

.pagination-dark .page-item.active .page-link, .pagination-dark .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-dark .page-item.active a,
.pagination-dark .page-item.active .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-dark .page-item.active a, .pagination-dark .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button .page-link, .pagination-dark .jsgrid .jsgrid-pager .active.jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-dark .active.jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-dark .active.jsgrid-pager-nav-button a,
.pagination-dark .jsgrid .jsgrid-pager .active.jsgrid-pager-page .page-link,
.pagination-dark .jsgrid .jsgrid-pager .active.jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-dark .active.jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-dark .active.jsgrid-pager-page a {
  background: #090e40;
  border-color: #090e40;
}
.pagination-dark .page-item .page-link, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-dark .page-item a,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-dark .page-item a, .pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link, .pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a, .jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-nav-button .page-link, .jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-nav-button a,
.pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link,
.pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-page a,
.jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-page .page-link,
.jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-page a {
  color: #090e40;
  border-color: rgba(9, 14, 64, 0.3);
}
.pagination-dark .page-item .page-link:hover, .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .pagination-dark .page-item a:hover,
.jsgrid .jsgrid-pager .jsgrid-pager-page .pagination-dark .page-item a:hover, .pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-nav-button .page-link:hover, .pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-nav-button a:hover, .jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-nav-button .page-link:hover, .jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-nav-button a:hover,
.pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-page .page-link:hover,
.pagination-dark .jsgrid .jsgrid-pager .jsgrid-pager-page a:hover,
.jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-page .page-link:hover,
.jsgrid .jsgrid-pager .pagination-dark .jsgrid-pager-page a:hover {
  background: #0c1356;
  border-color: #090e40;
  color: #fff;
}

/* Popovers */
.popover.left .arrow {
  border-left-color: rgba(0, 0, 0, 0);
}

.popover-static-demo .popover {
  width: 185px;
  position: relative;
  display: block;
  float: left;
  margin: 1rem 0.5rem;
}
.popover-static-demo .popover.bs-popover-bottom-demo .arrow, .popover-static-demo .popover.bs-popover-top-demo .arrow {
  left: 50%;
}
.popover-static-demo .popover.bs-popover-left-demo .arrow, .popover-static-demo .popover.bs-popover-right-demo .arrow {
  top: 50%;
}

.popover {
  z-index: 1029;
}
.popover.bs-popover-top-demo .arrow:before {
  border-top-color: #f1f6ff;
}
.popover.bs-popover-top-demo .arrow:after {
  border-top-color: #f1f6ff;
}
.popover.bs-popover-right-demo .arrow:before {
  border-right-color: #f1f6ff;
}
.popover.bs-popover-right-demo .arrow:after {
  border-right-color: #f1f6ff;
}
.popover.bs-popover-bottom-demo .arrow:before {
  border-bottom-color: #f1f6ff;
}
.popover.bs-popover-bottom-demo .arrow:after {
  border-bottom-color: #f1f6ff;
}
.popover.bs-popover-bottom-demo .popover-header:before {
  border-bottom: 0;
}
.popover.bs-popover-left-demo .arrow:before {
  border-left-color: #f1f6ff;
}
.popover.bs-popover-left-demo .arrow:after {
  border-left-color: #f1f6ff;
}
.popover .popover-header {
  font-size: 0.9375rem;
  border-bottom: 0;
  color: #439aff;
  background: #f1f6ff;
}
.popover .popover-body {
  color: #000;
  background: #f1f6ff;
}
.popover.left .arrow:after {
  border-left-color: #f1f6ff;
}
.popover.right .arrow:after {
  border-right-color: #f1f6ff;
}

.popover-primary .popover-header {
  background: #439aff;
  color: #fff;
}
.popover-primary.bs-popover-top .arrow:after, .popover-primary.bs-popover-auto[x-placement^=top] .arrow:after, .popover-primary.bs-popover-top .arrow:before, .popover-primary.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #439aff;
}
.popover-primary.bs-popover-right .arrow:after, .popover-primary.bs-popover-auto[x-placement^=right] .arrow:after, .popover-primary.bs-popover-right .arrow:before, .popover-primary.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #439aff;
}
.popover-primary.bs-popover-bottom .arrow:after, .popover-primary.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-primary.bs-popover-bottom .arrow:before, .popover-primary.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #439aff;
}
.popover-primary.bs-popover-left .arrow:after, .popover-primary.bs-popover-auto[x-placement^=left] .arrow:after, .popover-primary.bs-popover-left .arrow:before, .popover-primary.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #439aff;
}

.popover-secondary .popover-header {
  background: #fdbab1;
  color: #fff;
}
.popover-secondary.bs-popover-top .arrow:after, .popover-secondary.bs-popover-auto[x-placement^=top] .arrow:after, .popover-secondary.bs-popover-top .arrow:before, .popover-secondary.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #fdbab1;
}
.popover-secondary.bs-popover-right .arrow:after, .popover-secondary.bs-popover-auto[x-placement^=right] .arrow:after, .popover-secondary.bs-popover-right .arrow:before, .popover-secondary.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #fdbab1;
}
.popover-secondary.bs-popover-bottom .arrow:after, .popover-secondary.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-secondary.bs-popover-bottom .arrow:before, .popover-secondary.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #fdbab1;
}
.popover-secondary.bs-popover-left .arrow:after, .popover-secondary.bs-popover-auto[x-placement^=left] .arrow:after, .popover-secondary.bs-popover-left .arrow:before, .popover-secondary.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #fdbab1;
}

.popover-success .popover-header {
  background: #7ed321;
  color: #fff;
}
.popover-success.bs-popover-top .arrow:after, .popover-success.bs-popover-auto[x-placement^=top] .arrow:after, .popover-success.bs-popover-top .arrow:before, .popover-success.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #7ed321;
}
.popover-success.bs-popover-right .arrow:after, .popover-success.bs-popover-auto[x-placement^=right] .arrow:after, .popover-success.bs-popover-right .arrow:before, .popover-success.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #7ed321;
}
.popover-success.bs-popover-bottom .arrow:after, .popover-success.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-success.bs-popover-bottom .arrow:before, .popover-success.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #7ed321;
}
.popover-success.bs-popover-left .arrow:after, .popover-success.bs-popover-auto[x-placement^=left] .arrow:after, .popover-success.bs-popover-left .arrow:before, .popover-success.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #7ed321;
}

.popover-info .popover-header {
  background: #4729b7;
  color: #fff;
}
.popover-info.bs-popover-top .arrow:after, .popover-info.bs-popover-auto[x-placement^=top] .arrow:after, .popover-info.bs-popover-top .arrow:before, .popover-info.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #4729b7;
}
.popover-info.bs-popover-right .arrow:after, .popover-info.bs-popover-auto[x-placement^=right] .arrow:after, .popover-info.bs-popover-right .arrow:before, .popover-info.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #4729b7;
}
.popover-info.bs-popover-bottom .arrow:after, .popover-info.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-info.bs-popover-bottom .arrow:before, .popover-info.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #4729b7;
}
.popover-info.bs-popover-left .arrow:after, .popover-info.bs-popover-auto[x-placement^=left] .arrow:after, .popover-info.bs-popover-left .arrow:before, .popover-info.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #4729b7;
}

.popover-warning .popover-header {
  background: #f5a623;
  color: #fff;
}
.popover-warning.bs-popover-top .arrow:after, .popover-warning.bs-popover-auto[x-placement^=top] .arrow:after, .popover-warning.bs-popover-top .arrow:before, .popover-warning.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #f5a623;
}
.popover-warning.bs-popover-right .arrow:after, .popover-warning.bs-popover-auto[x-placement^=right] .arrow:after, .popover-warning.bs-popover-right .arrow:before, .popover-warning.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #f5a623;
}
.popover-warning.bs-popover-bottom .arrow:after, .popover-warning.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-warning.bs-popover-bottom .arrow:before, .popover-warning.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #f5a623;
}
.popover-warning.bs-popover-left .arrow:after, .popover-warning.bs-popover-auto[x-placement^=left] .arrow:after, .popover-warning.bs-popover-left .arrow:before, .popover-warning.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #f5a623;
}

.popover-danger .popover-header {
  background: #ff5e5e;
  color: #fff;
}
.popover-danger.bs-popover-top .arrow:after, .popover-danger.bs-popover-auto[x-placement^=top] .arrow:after, .popover-danger.bs-popover-top .arrow:before, .popover-danger.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #ff5e5e;
}
.popover-danger.bs-popover-right .arrow:after, .popover-danger.bs-popover-auto[x-placement^=right] .arrow:after, .popover-danger.bs-popover-right .arrow:before, .popover-danger.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #ff5e5e;
}
.popover-danger.bs-popover-bottom .arrow:after, .popover-danger.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-danger.bs-popover-bottom .arrow:before, .popover-danger.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #ff5e5e;
}
.popover-danger.bs-popover-left .arrow:after, .popover-danger.bs-popover-auto[x-placement^=left] .arrow:after, .popover-danger.bs-popover-left .arrow:before, .popover-danger.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #ff5e5e;
}

.popover-light .popover-header {
  background: #f3f5f6;
  color: #fff;
}
.popover-light.bs-popover-top .arrow:after, .popover-light.bs-popover-auto[x-placement^=top] .arrow:after, .popover-light.bs-popover-top .arrow:before, .popover-light.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #f3f5f6;
}
.popover-light.bs-popover-right .arrow:after, .popover-light.bs-popover-auto[x-placement^=right] .arrow:after, .popover-light.bs-popover-right .arrow:before, .popover-light.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #f3f5f6;
}
.popover-light.bs-popover-bottom .arrow:after, .popover-light.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-light.bs-popover-bottom .arrow:before, .popover-light.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #f3f5f6;
}
.popover-light.bs-popover-left .arrow:after, .popover-light.bs-popover-auto[x-placement^=left] .arrow:after, .popover-light.bs-popover-left .arrow:before, .popover-light.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #f3f5f6;
}

.popover-dark .popover-header {
  background: #090e40;
  color: #fff;
}
.popover-dark.bs-popover-top .arrow:after, .popover-dark.bs-popover-auto[x-placement^=top] .arrow:after, .popover-dark.bs-popover-top .arrow:before, .popover-dark.bs-popover-auto[x-placement^=top] .arrow:before {
  border-top-color: #090e40;
}
.popover-dark.bs-popover-right .arrow:after, .popover-dark.bs-popover-auto[x-placement^=right] .arrow:after, .popover-dark.bs-popover-right .arrow:before, .popover-dark.bs-popover-auto[x-placement^=right] .arrow:before {
  border-right-color: #090e40;
}
.popover-dark.bs-popover-bottom .arrow:after, .popover-dark.bs-popover-auto[x-placement^=bottom] .arrow:after, .popover-dark.bs-popover-bottom .arrow:before, .popover-dark.bs-popover-auto[x-placement^=bottom] .arrow:before {
  border-bottom-color: #090e40;
}
.popover-dark.bs-popover-left .arrow:after, .popover-dark.bs-popover-auto[x-placement^=left] .arrow:after, .popover-dark.bs-popover-left .arrow:before, .popover-dark.bs-popover-auto[x-placement^=left] .arrow:before {
  border-left-color: #090e40;
}

/* Portfolio */
.portfolio-grid figure {
  position: relative;
  float: left;
  overflow: hidden;
  width: 100%;
  background: #f5a623;
  text-align: center;
  cursor: pointer;
}
@media (max-width: 767px) {
  .portfolio-grid figure {
    width: 270px;
  }
}
.portfolio-grid figure img {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  width: 100%;
  opacity: 0.8;
}
.portfolio-grid figure figcaption {
  padding: 2em;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.25em;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.portfolio-grid figure figcaption:after, .portfolio-grid figure figcaption:before {
  pointer-events: none;
}
.portfolio-grid figure.effect-text-in {
  border-radius: 0.25rem;
}
.portfolio-grid figure.effect-text-in h4,
.portfolio-grid figure.effect-text-in img {
  transition: transform 0.35s;
}
.portfolio-grid figure.effect-text-in img {
  backface-visibility: hidden;
}
.portfolio-grid figure.effect-text-in h4,
.portfolio-grid figure.effect-text-in p {
  position: absolute;
  bottom: 10px;
  left: 0;
  padding: 10px;
  margin-bottom: 0;
  width: 100%;
}
.portfolio-grid figure.effect-text-in p {
  text-transform: none;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 50px, 0);
}
.portfolio-grid figure.effect-text-in:hover img {
  transform: translate3d(0, -80px, 0);
}
.portfolio-grid figure.effect-text-in:hover h4 {
  transform: translate3d(0, -100px, 0);
}
.portfolio-grid figure.effect-text-in:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Preview */
.preview-list .preview-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
}
.preview-list .preview-item:last-child {
  border-bottom: 0;
}
.preview-list .preview-item:hover {
  background: #e9ecef;
}
.preview-list .preview-item .form-check {
  margin-top: 8px;
  margin-right: 1rem;
}
.preview-list .preview-item .preview-thumbnail {
  color: #fff;
  position: relative;
}
.preview-list .preview-item .preview-thumbnail .preview-icon,
.preview-list .preview-item .preview-thumbnail img {
  width: 36px;
  height: 36px;
  border-radius: 100%;
}
.preview-list .preview-item .preview-thumbnail .preview-icon {
  padding: 6px;
  text-align: center;
}
.preview-list .preview-item .preview-thumbnail .preview-icon i {
  font-size: 1.125rem;
}
.preview-list .preview-item .preview-thumbnail .badge {
  border: 2px solid #fff;
  border-radius: 100%;
  bottom: 5px;
  display: block;
  height: 14px;
  left: -5px;
  padding: 0;
  position: absolute;
  width: 14px;
}
.preview-list .preview-item .preview-item-content {
  line-height: 1;
  padding-left: 15px;
}
.rtl .preview-list .preview-item .preview-item-content {
  padding-left: 0;
  padding-right: 15px;
}
.preview-list .preview-item .preview-item-content:first-child {
  padding-left: 0;
}
.rtl .preview-list .preview-item .preview-item-content:first-child {
  padding-right: 0;
}
.preview-list .preview-item .preview-item-content p {
  margin-bottom: 10px;
}
.preview-list .preview-item .preview-item-content p .content-category {
  font-family: "Open Sans", sans-serif;
  padding-right: 15px;
  border-right: 1px solid #f2f2f2;
}
.preview-list .preview-item .preview-actions {
  display: flex;
  flex-direction: row;
}
.preview-list .preview-item .preview-actions i {
  width: 29px;
  color: #f7f7f9;
  height: 29px;
  border: 2px solid #f7f7f9;
  border-radius: 100%;
  padding: 3px 6px;
  display: inline-block;
}
.preview-list .preview-item .preview-actions i:first-child {
  margin-right: 10px;
}
.preview-list.comment-preview .preview-item {
  padding: 0.87rem 0;
}
.preview-list.comment-preview .preview-item:first-child {
  padding-top: 0;
}
.preview-list.comment-preview .preview-item p {
  line-height: 27px;
}
.preview-list.bordered .preview-item {
  border-bottom: 1px solid #f2f2f2;
}
.preview-list.bordered .preview-item:last-child {
  border-bottom: 0;
}

/* Pricing table */
.pricing-table .pricing-card .pricing-card-body {
  padding: 50px 56px 43px;
}
.pricing-table .pricing-card .pricing-card-body .plan-features {
  width: 100%;
  margin-bottom: 32px;
}
.pricing-table .pricing-card .pricing-card-body .plan-features li {
  text-align: left;
  padding: 4px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
}

/* Tables */
.table, .jsgrid .jsgrid-table {
  margin-bottom: 0;
}
.table thead th, .jsgrid .jsgrid-table thead th {
  border-top: 0;
  border-bottom-width: 1px;
  font-weight: 600;
}
.table thead th i, .jsgrid .jsgrid-table thead th i {
  margin-left: 0.325rem;
}
.table td, .jsgrid .jsgrid-table td,
.table th,
.jsgrid .jsgrid-table th {
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1;
  padding: 16px 10px;
}
.table td img, .jsgrid .jsgrid-table td img,
.table th img,
.jsgrid .jsgrid-table th img {
  width: 40px;
  height: 40px;
  border-radius: 100%;
}
.table td .badge, .jsgrid .jsgrid-table td .badge,
.table th .badge,
.jsgrid .jsgrid-table th .badge {
  margin-bottom: 0;
}
.table td, .jsgrid .jsgrid-table td {
  font-weight: 400;
}
.table.table-borderless, .jsgrid .table-borderless.jsgrid-table {
  border: none;
}
.table.table-borderless td, .jsgrid .table-borderless.jsgrid-table td,
.table.table-borderless th,
.jsgrid .table-borderless.jsgrid-table th,
.table.table-borderless tr,
.jsgrid .table-borderless.jsgrid-table tr {
  border: none;
}
.table.table-borderless tr td:first-child, .jsgrid .table-borderless.jsgrid-table tr td:first-child, .table.table-borderless tr th:first-child, .jsgrid .table-borderless.jsgrid-table tr th:first-child {
  padding-left: 0;
}
.table.table-borderless tr td:last-child, .jsgrid .table-borderless.jsgrid-table tr td:last-child, .table.table-borderless tr th:last-child, .jsgrid .table-borderless.jsgrid-table tr th:last-child {
  padding-right: 0;
}
.table.table-borderless tr td, .jsgrid .table-borderless.jsgrid-table tr td {
  padding-bottom: 8px;
}
.table.table-borderless tr:first-child td, .jsgrid .table-borderless.jsgrid-table tr:first-child td {
  padding-top: 6px;
}
.table.table-borderless tr:last-child td, .jsgrid .table-borderless.jsgrid-table tr:last-child td {
  padding-bottom: 0;
}
.table-responsive .table th, .table-responsive .jsgrid .jsgrid-table th, .jsgrid .table-responsive .jsgrid-table th, .table-responsive .table td, .table-responsive .jsgrid .jsgrid-table td, .jsgrid .table-responsive .jsgrid-table td {
  white-space: nowrap;
}
.table.table-bordered, .jsgrid .table-bordered.jsgrid-table {
  border: 1px solid #f2f2f2;
}

/* Tabs */
.nav-pills .nav-item .nav-link,
.nav-tabs .nav-item .nav-link {
  font-family: "Open Sans", sans-serif;
  line-height: 1;
  font-size: 0.875rem;
  color: #000;
  text-align: center;
  display: flex;
}
.nav-pills .nav-item .nav-link i,
.nav-tabs .nav-item .nav-link i {
  margin-right: 10px;
}

.tab-content {
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
  line-height: 1.71;
}

.tab-basic {
  border-bottom: none;
  margin-bottom: 20px;
}
.tab-basic .nav-item {
  margin-right: 7%;
}
.tab-basic .nav-item .nav-link {
  font-weight: 600;
  color: #959595;
  padding: 0 0 7px;
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px solid #fff;
}
.tab-basic .nav-item .nav-link.active {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px solid #7ed321;
  color: #7ed321;
}

.tab-solid {
  border: none;
  margin-bottom: 30px;
}
.tab-solid .nav-item .nav-link {
  border: none;
  padding: 10px 16px;
  font-weight: 500;
  border-radius: 4px;
}
.tab-solid .nav-item .nav-link:nth(fist-child) {
  padding-left: 0;
}
.tab-solid .nav-item .nav-link.active {
  border: none;
  color: #fff;
  font-weight: 600;
}

.tab-content-solid {
  border: none;
  padding-left: 0;
  padding-right: 0;
}

.tab-solid-primary .nav-link.active {
  background: #439aff;
}

.tab-solid-secondary .nav-link.active {
  background: #fdbab1;
}

.tab-solid-success .nav-link.active {
  background: #7ed321;
}

.tab-solid-info .nav-link.active {
  background: #4729b7;
}

.tab-solid-warning .nav-link.active {
  background: #f5a623;
}

.tab-solid-danger .nav-link.active {
  background: #ff5e5e;
}

.tab-solid-light .nav-link.active {
  background: #f3f5f6;
}

.tab-solid-dark .nav-link.active {
  background: #090e40;
}

.tab-minimal .nav-tabs {
  border: none;
}
.tab-minimal .nav-tabs .nav-item .nav-link {
  border: none;
  font-size: 14px;
  font-weight: 500;
}
.tab-minimal .nav-tabs .nav-item .nav-link.active {
  font-weight: 600;
}
.tab-minimal .nav-tabs .nav-item .nav-link:first-child {
  padding-left: 0;
}
.tab-simple-styled {
  border-bottom: none;
  margin-top: 30px;
  margin-bottom: 30px;
}
.tab-simple-styled .nav-item {
  margin-right: 30px;
}
.tab-simple-styled .nav-item .nav-link {
  border: none;
  font-weight: 600;
  padding: 0;
  color: #959595;
}
.tab-simple-styled .nav-item .nav-link.active {
  color: #4729b7;
}

.vertical-tab {
  display: flex;
}
.vertical-tab .nav-tabs {
  flex-direction: column;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .vertical-tab .nav-tabs {
    flex-direction: row;
  }
}
.vertical-tab .tab-content {
  margin-bottom: 0;
}

/* Tabs */
.add-items {
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.add-items input[type=text] {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  width: 100%;
  background: transparent;
}
.add-items .btn, .add-items .wizard > .actions a, .wizard > .actions .add-items a, .add-items .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .add-items .swal2-styled, .add-items .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .add-items .ajax-file-upload {
  margin-left: 0.5rem;
}
.rtl .add-items .btn, .rtl .add-items .wizard > .actions a, .wizard > .actions .rtl .add-items a, .rtl .add-items .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .rtl .add-items .swal2-styled, .rtl .add-items .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .rtl .add-items .ajax-file-upload {
  margin-left: auto;
  margin-right: 0.5rem;
}

.list-wrapper {
  height: 100%;
  max-height: 100%;
}
.list-wrapper ul {
  padding: 0;
  text-align: left;
  list-style: none;
  margin-bottom: 0;
}
.list-wrapper ul li {
  font-size: 0.9375rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid #f2f2f2;
}
.list-wrapper ul li:first-child {
  border-bottom: none;
}
.list-wrapper ul li .form-check {
  max-width: 90%;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.list-wrapper ul li .form-check .form-check-label {
  color: #000;
}
.list-wrapper input[type=checkbox] {
  margin-right: 15px;
}
.list-wrapper .remove {
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 500;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 20px;
  text-align: center;
}
/* Tooltips */
.tooltip-static-demo .tooltip {
  position: relative;
  display: inline-block;
  opacity: 1;
  margin: 0 10px 10px 0;
}
.tooltip-static-demo .bs-tooltip-bottom-demo .arrow,
.tooltip-static-demo .bs-tooltip-top-demo .arrow {
  left: 50%;
}
.tooltip-static-demo .bs-tooltip-left-demo .arrow,
.tooltip-static-demo .bs-tooltip-right-demo .arrow {
  top: 50%;
}

.tooltip {
  font-size: 0.75rem;
  min-width: 5.625rem;
  z-index: 1029;
}
.tooltip .tooltip-inner {
  font-family: "Open Sans", sans-serif;
}

.tooltip-primary .tooltip-inner {
  background: #439aff;
  color: #fff;
}
.tooltip-primary.bs-tooltip-top .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #439aff;
}
.tooltip-primary.bs-tooltip-right .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #439aff;
}
.tooltip-primary.bs-tooltip-bottom .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #439aff;
}
.tooltip-primary.bs-tooltip-left .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #439aff;
}

.tooltip-secondary .tooltip-inner {
  background: #fdbab1;
  color: #fff;
}
.tooltip-secondary.bs-tooltip-top .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #fdbab1;
}
.tooltip-secondary.bs-tooltip-right .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #fdbab1;
}
.tooltip-secondary.bs-tooltip-bottom .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #fdbab1;
}
.tooltip-secondary.bs-tooltip-left .arrow::before, .tooltip-secondary.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #fdbab1;
}

.tooltip-success .tooltip-inner {
  background: #7ed321;
  color: #fff;
}
.tooltip-success.bs-tooltip-top .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #7ed321;
}
.tooltip-success.bs-tooltip-right .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #7ed321;
}
.tooltip-success.bs-tooltip-bottom .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #7ed321;
}
.tooltip-success.bs-tooltip-left .arrow::before, .tooltip-success.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #7ed321;
}

.tooltip-info .tooltip-inner {
  background: #4729b7;
  color: #fff;
}
.tooltip-info.bs-tooltip-top .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #4729b7;
}
.tooltip-info.bs-tooltip-right .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #4729b7;
}
.tooltip-info.bs-tooltip-bottom .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #4729b7;
}
.tooltip-info.bs-tooltip-left .arrow::before, .tooltip-info.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #4729b7;
}

.tooltip-warning .tooltip-inner {
  background: #f5a623;
  color: #fff;
}
.tooltip-warning.bs-tooltip-top .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #f5a623;
}
.tooltip-warning.bs-tooltip-right .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #f5a623;
}
.tooltip-warning.bs-tooltip-bottom .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #f5a623;
}
.tooltip-warning.bs-tooltip-left .arrow::before, .tooltip-warning.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #f5a623;
}

.tooltip-danger .tooltip-inner {
  background: #ff5e5e;
  color: #fff;
}
.tooltip-danger.bs-tooltip-top .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #ff5e5e;
}
.tooltip-danger.bs-tooltip-right .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #ff5e5e;
}
.tooltip-danger.bs-tooltip-bottom .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #ff5e5e;
}
.tooltip-danger.bs-tooltip-left .arrow::before, .tooltip-danger.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #ff5e5e;
}

.tooltip-light .tooltip-inner {
  background: #f3f5f6;
  color: #fff;
}
.tooltip-light.bs-tooltip-top .arrow::before, .tooltip-light.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #f3f5f6;
}
.tooltip-light.bs-tooltip-right .arrow::before, .tooltip-light.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #f3f5f6;
}
.tooltip-light.bs-tooltip-bottom .arrow::before, .tooltip-light.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #f3f5f6;
}
.tooltip-light.bs-tooltip-left .arrow::before, .tooltip-light.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #f3f5f6;
}

.tooltip-dark .tooltip-inner {
  background: #090e40;
  color: #fff;
}
.tooltip-dark.bs-tooltip-top .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-top-color: #090e40;
}
.tooltip-dark.bs-tooltip-right .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-right-color: #090e40;
}
.tooltip-dark.bs-tooltip-bottom .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-bottom-color: #090e40;
}
.tooltip-dark.bs-tooltip-left .arrow::before, .tooltip-dark.bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-left-color: #090e40;
}

/* User Profile */
.user-profile .side-left .card .avatar img {
  display: block;
  width: 90px;
  height: 90px;
  border-radius: 100%;
  margin-left: auto;
  margin-right: auto;
}
.user-profile .side-left .card .avatar .name {
  text-align: center;
  color: #090e40;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0;
}
.user-profile .side-left .card .avatar .designation {
  text-align: center;
  color: #6c757d;
  font-size: 0.8rem;
  font-weight: 600;
}
.user-profile .side-left .card .avatar .email {
  text-align: center;
  color: #439aff;
  display: block;
}
.user-profile .side-left .card .avatar .number {
  display: block;
  text-align: center;
  color: #439aff;
}
.user-profile .side-left .card .overview .achivements {
  padding-left: 0;
  display: flex;
  justify-content: center;
}
.user-profile .side-left .card .overview .achivements li {
  width: 33.333%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.user-profile .side-left .card .overview .achivements li p {
  text-align: center;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.4rem;
  color: #090e40;
}
.user-profile .side-left .card .overview .achivements li p:last-child {
  font-weight: 500;
  font-size: 0.9rem;
}
.user-profile .side-left .card .overview .about-user p {
  font-size: 0.8rem;
}
.user-profile .side-left .card .overview .info-links a {
  font-size: 0.8rem;
  display: block;
  margin-bottom: 10px;
}
.user-profile .side-left .card .overview .info-links a i {
  font-size: 0.8rem;
  margin-right: 10px;
}
.user-profile .side-left .card .overview .info-links a span {
  text-align: left;
  display: inline-block;
}
.calendar-aside {
  display: block;
}
.calendar-aside .list {
  position: relative;
  padding: 10px 8px;
  display: flex;
  align-items: center;
  border-radius: 5px;
  transition-duration: 0.25s;
  transition-property: background;
}
.calendar-aside .list .user-text {
  margin-bottom: 0;
  margin-left: 20px;
  font-size: 0.875rem;
}
.calendar-aside .list .count {
  width: 20px;
  height: 20px;
  position: relative;
  border-radius: 50px;
  transition-duration: 0.25s;
  transition-timing-function: ease;
  transition-property: opacity;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calendar-aside .list .count:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  display: block;
  height: 10px;
  width: 10px;
  margin: auto;
  border-radius: 50px;
  transform: translateY(-50%);
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.calendar-aside .list .count.online:before {
  background: #7ed321;
}
.calendar-aside .list .count.offline:before {
  background: #ff5e5e;
}
.calendar-aside .list .count .close {
  font-size: 15px;
  margin: auto;
  opacity: 0;
  color: #ff5e5e;
  transition-duration: 0.25s;
  transition-timing-function: ease;
}
.calendar-aside .list:hover {
  background: #f3f5f6;
}
.calendar-aside .list:hover .count:before {
  z-index: 0;
  height: 20px;
  width: 20px;
  background: #f3f5f6;
}
.calendar-aside .list:hover .count .close {
  z-index: 2;
  opacity: 1;
}

.card-statistics .card-statistics-item {
  padding: 2rem 2.25rem 2rem 1.75rem;
}

.card-update .update-item:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.horizontal-timeline .time-frame {
  border-bottom: 1px solid #f2f2f2;
  padding-top: 20px;
}
.horizontal-timeline .time-frame:last-child {
  border-bottom: none;
}
.horizontal-timeline .time-frame .section-time-frame {
  margin-bottom: 30px;
}
.horizontal-timeline .time-frame .event {
  border-left: 1px solid #f2f2f2;
  padding-left: 2rem;
  padding-bottom: 30px;
  position: relative;
}
.horizontal-timeline .time-frame .event:last-child {
  border-left: none;
}
.horizontal-timeline .time-frame .event .event-text {
  line-height: 1;
  font-weight: 400;
  margin-bottom: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
}
.horizontal-timeline .time-frame .event .tumbnail-views {
  display: inline-block;
}
.horizontal-timeline .time-frame .event .tumbnail-views .thumbnail {
  float: left;
  margin-right: 16px;
  margin-top: 1rem;
}
.horizontal-timeline .time-frame .event .tumbnail-views .thumbnail img {
  max-width: 100%;
  border-radius: 4px;
}
.horizontal-timeline .time-frame .event .event-alert {
  margin-top: 1rem;
  padding: 11px 25px;
  background: #f3f5f6;
  width: 80%;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  font-weight: 300;
  border-radius: 4px;
}
.horizontal-timeline .time-frame .event .event-info {
  margin-top: 0.8rem;
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #959595;
}
.horizontal-timeline .time-frame .event:before {
  content: "";
  position: absolute;
  top: 0;
  left: -5px;
  height: 10px;
  width: 10px;
  border-radius: 100%;
}
.horizontal-timeline .time-frame .event:nth-child(3n+1):before {
  background: #4729b7;
}
.horizontal-timeline .time-frame .event:nth-child(3n+2):before {
  background: #7ed321;
}
.horizontal-timeline .time-frame .event:nth-child(3n+3):before {
  background: #439aff;
}

/* Timeline */
.vertical-timeline {
  list-style: none;
  padding: 0;
  position: relative;
}
.vertical-timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #fdbab1;
  left: 50%;
  margin-left: -1.5px;
}
.vertical-timeline .timeline-wrapper {
  display: block;
  margin-bottom: 20px;
  position: relative;
  width: 100%;
  padding-right: 90px;
}
.vertical-timeline .timeline-wrapper:before {
  content: " ";
  display: table;
}
.vertical-timeline .timeline-wrapper:after {
  content: " ";
  display: table;
  clear: both;
}
.vertical-timeline .timeline-wrapper .timeline-panel {
  border-radius: 2px;
  padding: 20px;
  position: relative;
  background: #fff;
  border-radius: 6px;
  box-shadow: 1px 2px 35px 0 rgba(1, 1, 1, 0.1);
  width: 35%;
  margin-left: 15%;
}
.vertical-timeline .timeline-wrapper .timeline-panel:before {
  position: absolute;
  top: 0;
  width: 100%;
  height: 2px;
  content: "";
  left: 0;
  right: 0;
}
.vertical-timeline .timeline-wrapper .timeline-panel:after {
  position: absolute;
  top: 27px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #fff;
  border-right: 0 solid #fff;
  border-bottom: 14px solid transparent;
  content: " ";
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-title {
  margin-top: 0;
  color: #090e40;
  text-transform: uppercase;
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-body p {
  margin-bottom: 0;
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-body p + p {
  margin-top: 5px;
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-body ul {
  margin-bottom: 0;
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-footer span {
  font-size: 0.6875rem;
}
.vertical-timeline .timeline-wrapper .timeline-panel .timeline-footer i {
  font-size: 1.5rem;
}
.vertical-timeline .timeline-wrapper .timeline-badge {
  width: 14px;
  height: 14px;
  position: absolute;
  top: 16px;
  left: calc(50% - 7px);
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border: 2px solid #fff;
}
.vertical-timeline .timeline-wrapper .timeline-badge i {
  color: #fff;
}
.vertical-timeline .timeline-wrapper.timeline-inverted {
  padding-right: 0;
  padding-left: 90px;
}
.vertical-timeline .timeline-wrapper.timeline-inverted .timeline-panel {
  margin-left: auto;
  margin-right: 15%;
}
.vertical-timeline .timeline-wrapper.timeline-inverted .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}

@media (max-width: 767px) {
  .vertical-timeline .timeline-wrapper {
    padding-right: 150px;
  }
  .vertical-timeline .timeline-wrapper.timeline-inverted {
    padding-left: 150px;
  }
  .vertical-timeline .timeline-wrapper .timeline-panel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.timeline-wrapper-primary .timeline-panel:before {
  background: #439aff;
}
.timeline-wrapper-primary .timeline-badge {
  background: #439aff;
}

.timeline-wrapper-secondary .timeline-panel:before {
  background: #fdbab1;
}
.timeline-wrapper-secondary .timeline-badge {
  background: #fdbab1;
}

.timeline-wrapper-success .timeline-panel:before {
  background: #7ed321;
}
.timeline-wrapper-success .timeline-badge {
  background: #7ed321;
}

.timeline-wrapper-info .timeline-panel:before {
  background: #4729b7;
}
.timeline-wrapper-info .timeline-badge {
  background: #4729b7;
}

.timeline-wrapper-warning .timeline-panel:before {
  background: #f5a623;
}
.timeline-wrapper-warning .timeline-badge {
  background: #f5a623;
}

.timeline-wrapper-danger .timeline-panel:before {
  background: #ff5e5e;
}
.timeline-wrapper-danger .timeline-badge {
  background: #ff5e5e;
}

.timeline-wrapper-light .timeline-panel:before {
  background: #f3f5f6;
}
.timeline-wrapper-light .timeline-badge {
  background: #f3f5f6;
}

.timeline-wrapper-dark .timeline-panel:before {
  background: #090e40;
}
.timeline-wrapper-dark .timeline-badge {
  background: #090e40;
}

/*-------------------------------------------------------------------*/
/* === Email === */
/* Mail Sidebar */
@media (max-width: 769px) {
  .email-wrapper .mail-sidebar {
    position: relative;
  }
}
@media (max-width: 767.98px) {
  .email-wrapper .mail-sidebar {
    position: fixed;
    z-index: 99;
    background: #fff;
    width: 45%;
    min-width: 300px;
    left: -100%;
    display: block;
    transition: 0.4s ease;
    -webkit-transition: 0.4s ease;
    -moz-transition: 0.4s ease;
  }
}
.email-wrapper .mail-sidebar .menu-bar {
  width: 100%;
  float: right;
  height: 100%;
  min-height: 100%;
}
@media (max-width: 767.98px) {
  .email-wrapper .mail-sidebar .menu-bar {
    min-height: 100vh;
    max-height: 100%;
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
  }
}
.email-wrapper .mail-sidebar .menu-bar .menu-items {
  padding: 0;
  margin-bottom: 0;
  height: auto;
  list-style-type: none;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li {
  padding: 10px 15px;
  transition: 0.4s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li:hover {
  background: rgba(240, 244, 249, 0.8);
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li a {
  color: #090e40;
  font-size: 0.875rem;
  text-decoration: none;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li a i {
  margin-right: 8px;
  font-size: 0.875rem;
  line-height: 1.5;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li.active {
  background: #f7f7f9;
  border-radius: 4px;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li.active a {
  color: #439aff;
}
.email-wrapper .mail-sidebar .menu-bar .menu-items li.compose:hover {
  background: transparent;
}
.email-wrapper .mail-sidebar .menu-bar .online-status {
  margin-top: 1rem;
}
.email-wrapper .mail-sidebar .menu-bar .online-status .chat {
  font-size: 0.875rem;
  color: #439aff;
  margin-bottom: 0;
  font-family: "Open Sans", sans-serif;
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-flex;
  justify-content: flex-start;
  transform: translateX(-43px) translateY(2px);
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status:after {
  font-size: 12px;
  color: #090e40;
  margin: -5px 0 0 18px;
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status.offline {
  background: #ff5e5e;
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status.offline:after {
  content: "Offline";
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status.online {
  background: #7ed321;
}
.email-wrapper .mail-sidebar .menu-bar .online-status .status.online:after {
  content: "Online";
}
.email-wrapper .mail-sidebar .menu-bar .profile-list {
  padding: 10px 0;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item {
  border-bottom: 1px solid #f2f2f2;
  padding: 6px 0;
  display: block;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item:last-child {
  border-bottom: 0;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a {
  text-decoration: none;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .pro-pic {
  display: flex;
  align-items: center;
  padding: 0;
  width: 20%;
  max-width: 40px;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .pro-pic img {
  max-width: 100%;
  width: 100%;
  border-radius: 100%;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user {
  width: 100%;
  padding: 5px 10px 0 15px;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-name {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
  line-height: 1;
}
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-designation {
  font-size: calc(0.875rem - 0.1rem);
  margin-bottom: 0;
}
.email-wrapper .sidebar.open {
  left: 0;
}

/* Mail List Container */
.email-wrapper .mail-list-container {
  border-left: 1px solid #f2f2f2;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
}
.email-wrapper .mail-list-container a {
  text-decoration: none;
}
.email-wrapper .mail-list-container .mail-list {
  border-bottom: 1px solid #f2f2f2;
  display: flex;
  flex-direction: row;
  padding: 10px 15px;
  width: 100%;
}
.email-wrapper .mail-list-container .mail-list:last-child {
  border-bottom: none;
}
.email-wrapper .mail-list-container .mail-list .form-check {
  margin-top: 12px;
  width: 11%;
  min-width: 20px;
}
.email-wrapper .mail-list-container .mail-list .content {
  width: 83%;
  padding-left: 0;
  padding-right: 0;
}
.email-wrapper .mail-list-container .mail-list .content .sender-name {
  margin-bottom: 0;
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  max-width: 95%;
}
.email-wrapper .mail-list-container .mail-list .content .message_text {
  margin: 0;
  max-width: 93%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.email-wrapper .mail-list-container .mail-list .details {
  width: 5.5%;
}
.email-wrapper .mail-list-container .mail-list .details .date {
  text-align: right;
  margin: auto 15px auto 0;
  white-space: nowrap;
}
.email-wrapper .mail-list-container .mail-list .details i {
  margin: auto 0;
  color: #ddd;
}
.email-wrapper .mail-list-container .mail-list .details i.favorite {
  color: #f5a623;
}
.email-wrapper .mail-list-container .mail-list.new_mail {
  background: #f7f7f9;
}
/* Message Content */
.email-wrapper .message-body .sender-details {
  padding: 20px 15px 0;
  border-bottom: 1px solid #f2f2f2;
  display: flex;
}
.email-wrapper .message-body .sender-details .details {
  padding-bottom: 0;
}
.email-wrapper .message-body .sender-details .details .msg-subject {
  margin-bottom: 0;
  font-family: "Open Sans", sans-serif;
}
.email-wrapper .message-body .sender-details .details .sender-email {
  margin-bottom: 20px;
  font-family: "Open Sans", sans-serif;
}
.email-wrapper .message-body .sender-details .details .sender-email i {
  font-size: 1rem;
  font-family: "Open Sans", sans-serif;
  margin: 0 1px 0 7px;
}
.email-wrapper .message-body .message-content {
  padding: 50px 15px;
}
.email-wrapper .message-body .attachments-sections ul {
  list-style: none;
  border-top: 1px solid #f2f2f2;
  padding: 30px 15px 20px;
}
.email-wrapper .message-body .attachments-sections ul li {
  padding: 10px;
  margin-right: 20px;
  border: 1px solid #f2f2f2;
  border-radius: 5px;
}
.email-wrapper .message-body .attachments-sections ul li .thumb {
  display: inline-block;
  margin-right: 10px;
}
.email-wrapper .message-body .attachments-sections ul li .thumb i {
  font-size: 30px;
  margin: 0;
  color: #090e40;
}
.email-wrapper .message-body .attachments-sections ul li .details p.file-name {
  display: block;
  margin-bottom: 0;
  color: #090e40;
}
.email-wrapper .message-body .attachments-sections ul li .details .buttons .file-size {
  margin-right: 10px;
  margin-bottom: 0;
  font-size: 13px;
}
.email-wrapper .message-body .attachments-sections ul li .details .buttons a {
  font-size: 13px;
  margin-right: 10px;
}
.email-wrapper .message-body .attachments-sections ul li .details .buttons a:last-child {
  margin-right: 0;
}

/*-------------------------------------------------------------------*/
/* === Plugin overrides === */
/* Ace Editor */
.ace_editor {
  margin: auto;
  height: 300px;
  width: 100%;
}
.ace_editor .ace_content {
  font-size: 0.875rem;
}

/* Avgrund Popup */
.avgrund-popin {
  position: absolute;
  background: #fff;
  padding: 37px 33px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  top: 50%;
  left: 50%;
  z-index: 1000;
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  font-weight: initial;
  line-height: 1.85;
  border-radius: 10px;
  transform: scale(0.8);
}
.avgrund-popin p {
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  font-weight: initial;
}

.avgrund-overlay {
  background: #000;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 101;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
}

.avgrund-ready .avgrund-overlay,
.avgrund-ready .avgrund-popin,
body.avgrund-ready {
  transform-origin: 50% 50%;
  transition: 0.3s all ease-out;
}

body.avgrund-active {
  overflow: hidden;
}

.avgrund-active .avgrund-popin {
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1.1);
}

.avgrund-active .avgrund-overlay {
  visibility: visible;
  opacity: 0.5;
  filter: alpha(opacity=50);
  height: 20000px;
}

.avgrund-popin.stack {
  transform: scale(1.5);
}

.avgrund-active .avgrund-popin.stack {
  transform: scale(1.1);
}

/* Optional close button styles */
.avgrund-close {
  display: block;
  color: #fff;
  background: #000;
  font-size: 10px;
  text-decoration: none;
  text-transform: uppercase;
  position: absolute;
  top: 10px;
  right: 10px;
  height: 17px;
  width: 17px;
  text-align: center;
  line-height: 16px;
  border-radius: 50px;
}
.avgrund-close:hover {
  color: #fff;
  text-decoration: none;
}

/* Bootstrap Tour */
.tour-tour {
  padding: 0;
  border: 0;
  font-family: "Open Sans", sans-serif;
  background: #fff;
}
.tour-tour .popover-title {
  background: #439aff;
  color: #fff;
  font-size: 0.8125rem;
  font-family: "Open Sans", sans-serif;
  padding: 0.75rem;
}
.tour-tour.left .arrow:after {
  border-left-color: #fff;
}
.tour-tour.right .arrow:after {
  border-right-color: #fff;
}
.tour-tour.top .arrow:after {
  border-top-color: #fff;
}
.tour-tour.bottom .arrow:after {
  border-bottom-color: #fff;
}

.tour-step-background {
  display: none;
}

.chartjs-legend ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.chartjs-legend ul li {
  margin-right: 8%;
  display: flex;
  align-items: center;
}
.chartjs-legend ul li span {
  height: 20px;
  width: 20px;
  margin-right: 1rem;
  display: inline-block;
  font-size: 0.875rem;
}
.rtl .chartjs-legend ul {
  padding-right: 0;
}
.rtl .chartjs-legend ul li {
  margin-right: 0;
  margin-left: 8%;
}
.rtl .chartjs-legend ul li span {
  margin-right: 0;
  margin-left: 1rem;
}

.chartjs-render-monitor {
  max-width: 100%;
}

/* Chartist */
.ct-series-a .ct-line {
  stroke: #4da3ff;
  stroke-width: 3px;
  stroke-dasharray: 10px 20px;
}

.ct-series-a .ct-point {
  stroke: #057eff;
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-series-b .ct-line {
  stroke: #48d368;
  stroke-width: 3px;
  stroke-dasharray: 10px 20px;
}

.ct-series-b .ct-point {
  stroke: #29ab47;
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-series-c .ct-line {
  stroke: #fea860;
  stroke-width: 3px;
  stroke-dasharray: 10px 20px;
}

.ct-series-c .ct-point {
  stroke: #fd8119;
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-series-a .ct-bar {
  stroke: #4da3ff;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}

.ct-series-b .ct-bar {
  stroke: #48d368;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}

.ct-series-c .ct-bar {
  stroke: #fea860;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}

.ct-series-d .ct-bar {
  stroke: #e77681;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}

.ct-series-a .ct-slice-pie {
  fill: #4da3ff;
  stroke-width: 4px;
}

.ct-series-b .ct-slice-pie {
  fill: #48d368;
  stroke-width: 4px;
}

.ct-series-c .ct-slice-pie {
  fill: #e77681;
  stroke-width: 4px;
}

.ct-series-d .ct-slice-pie {
  fill: #fea860;
  stroke-width: 4px;
}

.ct-series-a .ct-slice-donut-solid {
  fill: #4da3ff;
}

.ct-series-b .ct-slice-donut-solid {
  fill: #48d368;
}

.ct-series-c .ct-slice-donut-solid {
  fill: #e77681;
}

.ct-series-a .ct-slice-donut-solid {
  fill: #fea860;
}

#ct-chart-dash-barChart .ct-series-a .ct-bar {
  stroke: #e4606d;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}
#ct-chart-dash-barChart .ct-series-b .ct-bar {
  stroke: #3395ff;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}
#ct-chart-dash-barChart .ct-series-c .ct-bar {
  stroke: #4da3ff;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}
#ct-chart-dash-barChart .ct-series-d .ct-bar {
  stroke: #66b0ff;
  stroke-width: 20px;
  stroke-dasharray: 0;
  stroke-linecap: squre;
}

/* CodeMirror */
.CodeMirror {
  font-size: 1rem;
  height: auto;
  min-height: auto;
  text-align: left;
}
.CodeMirror .CodeMirror-scroll {
  min-height: auto;
}

/* Colcade */
* {
  box-sizing: border-box;
}

.grid {
  border: 1px solid #8ba2b5 est;
}

.grid:after {
  display: block;
  content: "";
  clear: both;
}

.grid-col {
  float: left;
  width: 49%;
  margin-right: 2%;
  background: rgba(77, 199, 160, 0.2);
}

.grid-col--4 {
  margin-right: 0;
}

/* hide two middle */
.grid-col--2,
.grid-col--3 {
  display: none;
}

@media (min-width: 768px) {
  .grid-col {
    width: 32%;
  }
  .grid-col--2 {
    display: block;
  }
}
@media (min-width: 1200px) {
  .grid-col {
    width: 23.5%;
  }
  .grid-col--2,
  .grid-col--3 {
    display: block;
  }
}
.grid-item {
  background: rgb(77, 199, 160);
  margin-bottom: 20px;
}

.grid-item--a {
  height: 80px;
}

.grid-item--b {
  height: 140px;
}

.grid-item--c {
  height: 300px;
}

/* Colorpicker */
.asColorPicker-dropdown {
  max-width: initial;
}

.asColorPicker-trigger {
  height: auto;
  padding: 10px;
  border: 1px solid #f2f2f2;
  border-left: none;
}
.asColorPicker-trigger span {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}

/* Context Menu */
.context-menu-icon:before {
  color: #000;
  font-family: "simple-line-icons";
}
.context-menu-icon.context-menu-icon-cut:before {
  content: "\e024";
}
.context-menu-icon.context-menu-icon-edit:before {
  content: "\e05f";
}
.context-menu-icon.context-menu-icon-copy:before {
  content: "\e040";
}
.context-menu-icon.context-menu-icon-paste:before {
  content: "\e085";
}
.context-menu-icon.context-menu-icon-delete:before {
  content: "\e082";
}
.context-menu-icon.context-menu-icon-quit:before {
  content: "\e605";
}

.context-menu-list {
  box-shadow: none;
  border: 1px solid #f2f2f2;
}
.context-menu-list .context-menu-item span {
  color: #000;
  font-size: 0.75rem;
  font-family: "Open Sans", sans-serif;
}
.context-menu-list .context-menu-item.context-menu-hover {
  background: #000;
}
.context-menu-list .context-menu-item.context-menu-hover span {
  color: #fff;
}

/* Clockpicker */
.clockpicker-popover {
  background-color: #f2f2f2;
}
.clockpicker-popover.left .arrow:after {
  border-left-color: #f2f2f2;
}
.clockpicker-popover.right .arrow:after {
  border-right-color: #f2f2f2;
}
.clockpicker-popover.top .arrow:after {
  border-top-color: #f2f2f2;
}
.clockpicker-popover.bottom .arrow:after {
  border-bottom-color: #fff;
}

/* Data Tables */
.dataTables_wrapper {
  padding-left: 0;
  padding-right: 0;
}
.dataTables_wrapper label {
  font-size: 0.8125rem;
}
.dataTables_wrapper select {
  padding: 0.4rem;
}
.dataTables_wrapper .dataTables_length select {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.dataTables_wrapper .dataTable .btn, .dataTables_wrapper .dataTable .wizard > .actions a, .wizard > .actions .dataTables_wrapper .dataTable a, .dataTables_wrapper .dataTable .swal2-modal .swal2-buttonswrapper .swal2-styled, .swal2-modal .swal2-buttonswrapper .dataTables_wrapper .dataTable .swal2-styled, .dataTables_wrapper .dataTable .ajax-upload-dragdrop .ajax-file-upload, .ajax-upload-dragdrop .dataTables_wrapper .dataTable .ajax-file-upload {
  padding: 0.1rem 1rem;
  vertical-align: top;
}
.dataTables_wrapper .dataTable thead .sorting:after, .dataTables_wrapper .dataTable thead .sorting:before,
.dataTables_wrapper .dataTable thead .sorting_asc:after,
.dataTables_wrapper .dataTable thead .sorting_asc:before,
.dataTables_wrapper .dataTable thead .sorting_asc_disabled:after,
.dataTables_wrapper .dataTable thead .sorting_asc_disabled:before,
.dataTables_wrapper .dataTable thead .sorting_desc:after,
.dataTables_wrapper .dataTable thead .sorting_desc:before,
.dataTables_wrapper .dataTable thead .sorting_desc_disabled:after,
.dataTables_wrapper .dataTable thead .sorting_desc_disabled:before {
  line-height: 3.5;
  font-family: "simple-line-icons";
  font-size: 0.65rem;
}
.dataTables_wrapper .dataTable thead .sorting:before,
.dataTables_wrapper .dataTable thead .sorting_asc:before,
.dataTables_wrapper .dataTable thead .sorting_asc_disabled:before,
.dataTables_wrapper .dataTable thead .sorting_desc:before,
.dataTables_wrapper .dataTable thead .sorting_desc_disabled:before {
  content: "\e607";
  right: 1.2em;
}
.dataTables_wrapper .dataTable thead .sorting:after,
.dataTables_wrapper .dataTable thead .sorting_asc:after,
.dataTables_wrapper .dataTable thead .sorting_asc_disabled:after,
.dataTables_wrapper .dataTable thead .sorting_desc:after,
.dataTables_wrapper .dataTable thead .sorting_desc_disabled:after {
  content: "\e604";
  right: 0.2em;
}
.dataTables_wrapper .dataTables_paginate {
  margin-top: 20px;
}
.dataTables_wrapper .dataTables_info {
  font-size: 0.875rem;
}

/* Datepicker */
.datepicker.datepicker-dropdown,
.datepicker.datepicker-inline {
  padding: 0;
  width: 30%;
  max-width: 500px;
  min-width: 250px;
}
.datepicker.datepicker-dropdown .datepicker-days,
.datepicker.datepicker-inline .datepicker-days {
  padding: 0;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed,
.datepicker.datepicker-inline .datepicker-days table.table-condensed {
  width: 100%;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th,
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th {
  text-align: center;
  padding: 0.5rem 0;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.prev,
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.prev {
  color: #000;
  padding-bottom: 1rem;
  padding-top: 0;
  background: #fff;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.datepicker-switch,
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.datepicker-switch {
  color: #000;
  background: #fff;
  padding-bottom: 1rem;
  padding-top: 0;
  font-size: 1rem;
  font-weight: 600;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.next,
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.next {
  color: #000;
  padding-bottom: 1rem;
  padding-top: 0;
  background: #fff;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.dow,
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.dow {
  font-family: "Open Sans", sans-serif;
  color: #000;
  font-size: 0.875rem;
  font-weight: initial;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody {
  position: relative;
  top: 13px;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td {
  text-align: center;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day {
  font-size: 0.9375rem;
  padding: 0.5rem 0;
  color: #000;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day:hover,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day:hover {
  background: #fff;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.active {
  color: #fff;
  background: transparent;
  position: relative;
  z-index: 1;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active:before,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.active:before {
  content: "";
  width: 28px;
  height: 28px;
  background: #7ed321;
  border-radius: 4px;
  display: block;
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 6px;
  z-index: -1;
  left: 0;
  right: 0;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.today,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.today {
  color: #fff;
  background: transparent;
  position: relative;
  z-index: 1;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.today:before,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.day.today:before {
  content: "";
  width: 28px;
  height: 28px;
  background: #439aff;
  border-radius: 4px;
  box-shadow: 3px 3px 6px 0 rgba(147, 127, 201, 0.43);
  -webkit-box-shadow: 3px 3px 6px 0 rgba(147, 127, 201, 0.43);
  -moz-box-shadow: 3px 3px 6px 0 rgba(147, 127, 201, 0.43);
  display: block;
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 6px;
  z-index: -1;
  left: 0;
  right: 0;
}
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.old.day,
.datepicker.datepicker-inline .datepicker-days table.table-condensed tbody td.old.day {
  color: #eaeaef;
}
.datepicker.datepicker-inline {
  width: 100%;
  max-width: 100%;
  min-width: 250px;
}
.datepicker.datepicker-inline thead tr th.prev {
  color: grey;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.datepicker.datepicker-inline thead tr th.datepicker-switch {
  color: #439aff;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.datepicker.datepicker-inline thead tr th.next {
  color: grey;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.datepicker > div {
  display: initial;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  border-radius: 2px;
}
.datepicker.input-group, .datepicker.asColorPicker-wrap {
  border: 1px solid #f2f2f2;
  padding: 0;
}
.datepicker.input-group .form-control, .datepicker.input-group .tt-hint,
.datepicker.input-group .tt-query,
.datepicker.input-group .typeahead, .datepicker.input-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .datepicker.input-group .select2-search__field, .datepicker.input-group .select2-container--default .select2-selection--single, .select2-container--default .datepicker.input-group .select2-selection--single, .datepicker.input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.input-group input[type=number], .datepicker.input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.input-group input[type=text],
.datepicker.input-group .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.input-group select, .datepicker.asColorPicker-wrap .form-control, .datepicker.asColorPicker-wrap .tt-hint,
.datepicker.asColorPicker-wrap .tt-query,
.datepicker.asColorPicker-wrap .typeahead, .datepicker.asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .datepicker.asColorPicker-wrap .select2-search__field, .datepicker.asColorPicker-wrap .select2-container--default .select2-selection--single, .select2-container--default .datepicker.asColorPicker-wrap .select2-selection--single, .datepicker.asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.asColorPicker-wrap input[type=number], .datepicker.asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.asColorPicker-wrap input[type=text],
.datepicker.asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .datepicker.asColorPicker-wrap select, .datepicker.input-group .asColorPicker-input, .datepicker.asColorPicker-wrap .asColorPicker-input, .datepicker.input-group .dataTables_wrapper select, .dataTables_wrapper .datepicker.input-group select, .datepicker.asColorPicker-wrap .dataTables_wrapper select, .dataTables_wrapper .datepicker.asColorPicker-wrap select {
  border: none;
}

.datepicker-dropdown:after {
  border-bottom-color: #fff;
}
.datepicker-dropdown:before {
  border-bottom-color: #f2f2f2;
}
.datepicker-dropdown.datepicker-orient-top:before, .datepicker-dropdown.datepicker-orient-top:after {
  top: auto;
}
.datepicker-dropdown.datepicker-orient-top:after {
  border-top-color: #fff;
}
.datepicker-dropdown.datepicker-orient-top:before {
  border-top-color: #f2f2f2;
}

/* Dropify */
.dropify-wrapper {
  border: 2px dashed #f2f2f2;
  border-radius: 7px;
}
.dropify-wrapper:hover {
  background-size: 30px 30px;
  background-image: linear-gradient(135deg, #F2F7F8 25%, transparent 25%, transparent 50%, #F2F7F8 50%, #F2F7F8 75%, transparent 75%, transparent);
  animation: stripes 2s linear infinite;
}
.dropify-wrapper .dropify-message span.file-icon:before {
  display: inline-block;
  font-family: "simple-line-icons";
  font-size: inherit;
  text-rendering: auto;
  line-height: inherit;
  -webkit-font-smoothing: antialiased;
  content: "\e084";
  color: #000;
  font-size: 1.25rem;
}
.dropify-wrapper .dropify-message p {
  font-size: 0.8125rem;
  color: #000;
}
.dropify-wrapper .dropify-preview .dropify-infos {
  background: rgba(255, 255, 255, 0.9);
}
.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner .dropify-filename {
  color: #439aff;
  font-size: 20px;
  font-weight: 400;
}
.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner .dropify-infos-message {
  color: #333;
  font-weight: 500;
}
.dropify-wrapper .dropify-preview .dropify-render img {
  opacity: 0.7;
}
.dropify-wrapper .dropify-clear {
  background: #fff;
  border: none;
  font-weight: 700;
  color: #6c757d;
}

/* Dropzone */
.dropzone {
  border: 1px solid #f2f2f2;
  height: 200px;
}
.dropzone .dz-message {
  text-align: center;
  width: 100%;
}
.dropzone .dz-message span {
  font-size: 0.8125rem;
  color: #000;
}

/* Flot chart */
.float-chart-container {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 300px;
  max-height: 100%;
}

.float-chart {
  width: 100%;
  position: relative;
  max-width: none;
  height: 400px;
}

/* Full Calendar */
#calendar .fc-header-toolbar {
  background: #fff;
  padding: 28px 0 80px;
  margin-bottom: 0;
}
#calendar .fc-header-toolbar .fc-button-group {
  border-radius: 5px;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button {
  box-shadow: none;
  padding: 1px 12px;
  margin-right: 0;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.33;
  border: none;
  background: #439aff;
  color: #fff;
  text-shadow: none;
  transition-duration: 0.3s;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button:first-letter {
  text-transform: uppercase;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-state-active {
  background: #2a8cff;
  color: #fff;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-next-button, #calendar .fc-header-toolbar .fc-button-group .fc-button.fc-prev-button {
  background: #fff;
  color: #439aff;
  margin-right: 7px;
  height: 2.0625rem;
  width: 2.25rem;
  border: none;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-next-button span, #calendar .fc-header-toolbar .fc-button-group .fc-button.fc-prev-button span {
  top: -3px;
  right: 9px;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-next-button span:after, #calendar .fc-header-toolbar .fc-button-group .fc-button.fc-prev-button span:after {
  font-family: "simple-line-icons";
  display: block;
  line-height: 21px;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-prev-button span {
  height: auto;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-prev-button span:after {
  content: "\e605";
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-next-button span {
  height: auto;
}
#calendar .fc-header-toolbar .fc-button-group .fc-button.fc-next-button span:after {
  content: "\e606";
}
#calendar .fc-header-toolbar .fc-today-button {
  box-shadow: none;
  padding: 1px 12px;
  border-radius: 2px;
  margin-right: 4px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.33;
  border: none;
  background: #439aff;
  color: #fff;
  text-shadow: none;
  transition-duration: 0.3s;
}
#calendar .fc-header-toolbar .fc-today-button:first-letter {
  text-transform: uppercase;
}
#calendar .fc-header-toolbar .fc-center h2 {
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
}
#calendar .fc-view-container .fc-view {
  background: #f0f2f7;
}
#calendar .fc-view-container .fc-view table thead.fc-head {
  border: none;
}
#calendar .fc-view-container .fc-view table thead.fc-head tr td .fc-widget-header {
  border: none;
}
#calendar .fc-view-container .fc-view table thead.fc-head tr td .fc-widget-header table thead {
  border: none;
}
#calendar .fc-view-container .fc-view table thead.fc-head tr td .fc-widget-header table thead tr th.fc-day-header {
  text-transform: uppercase;
  padding: 0.4375rem 0;
  border-color: #f2f2f2;
  font-size: 0.875rem;
}
#calendar .fc-view-container .fc-view table thead.fc-head tr td.fc-head-container {
  border-color: #f7f7f7;
  border-bottom: none;
}
#calendar .fc-view-container .fc-view table tbody.fc-body {
  background: #fff;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content {
  border-color: #f2f2f2;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row {
  border-color: #f2f2f2;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-bg table tr td {
  border-color: #f2f2f2;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead tr td.fc-day-top {
  padding: 8px;
  font-size: 13px;
  font-weight: 600;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table tbody tr td.fc-event-container .fc-h-event {
  background: #7ed321;
  border: none;
  padding: 6px 12px 6px 22px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  border-radius: 4px;
}
#calendar .fc-view-container .fc-view table tbody.fc-body tr td.fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table tbody tr td.fc-more-cell {
  font-weight: 600;
  color: #090e40;
  padding: 0 7px;
}
@media (max-width: 767px) {
  #calendar .fc-header-toolbar {
    padding-bottom: 30px;
  }
  #calendar .fc-header-toolbar .fc-left,
  #calendar .fc-header-toolbar .fc-right,
  #calendar .fc-header-toolbar .fc-center {
    float: none;
    margin-bottom: 10px;
  }
  #calendar .fc-header-toolbar .fc-left:after,
  #calendar .fc-header-toolbar .fc-right:after,
  #calendar .fc-header-toolbar .fc-center:after {
    content: "";
    clear: both;
    display: block;
  }
  #calendar .fc-header-toolbar .fc-left .fc-today-button {
    float: right;
  }
  #calendar .fc-header-toolbar .fc-right .fc-button-group {
    float: none;
  }
}

/* Google Charts */
.google-chart-container .google-charts {
  width: 100%;
  height: 280px;
  min-height: 280px;
  min-width: 100%;
}

/* Icheck */
.icheck,
.icheck-flat,
.icheck-line,
.icheck-square {
  margin-bottom: 0.5rem;
}
.icheck label,
.icheck-flat label,
.icheck-line label,
.icheck-square label {
  font-size: 0.8125rem;
  line-height: 1.5;
  margin-left: 5px;
  margin-bottom: 0;
}

/* Jquery File Upload */
.ajax-upload-dragdrop {
  border-color: #f2f2f2;
  border-style: dotted;
  max-width: 100%;
}
.ajax-upload-dragdrop span b {
  font-size: 0.8125rem;
  color: #000;
  font-weight: initial;
}
.ajax-upload-dragdrop .ajax-file-upload {
  background: #4729b7;
  box-shadow: none;
  height: auto;
}

.ajax-file-upload-container {
  min-height: 100px;
}
.ajax-file-upload-container .ajax-file-upload-statusbar {
  max-width: 100%;
}

/* Js-grid */
.jsgrid .jsgrid-grid-header {
  border: 1px solid #f2f2f2;
  border-top: 0;
}
.jsgrid .jsgrid-table th {
  font-weight: initial;
  font-family: "Open Sans", sans-serif;
}
.jsgrid .jsgrid-table .jsgrid-filter-row input[type=number] {
  padding: 0.56rem 0;
}
.jsgrid .jsgrid-header-sort:before {
  margin-top: 10px;
  float: right;
}
.jsgrid .jsgrid-header-sort-asc:before {
  border-color: transparent transparent #000;
}
.jsgrid .jsgrid-header-sort-desc:before {
  border-color: #000 transparent transparent;
}
.jsgrid .jsgrid-pager {
  line-height: 2;
}
.jsgrid .jsgrid-pager-current-page {
  padding: 0.5rem 0.75rem;
  font-weight: initial;
  line-height: 1.25;
}

/* Jvectormap */
.jvectormap-container {
  background: #fff;
}

/* Light Gallery */
.lightGallery {
  width: 100%;
  margin: 0;
}
.lightGallery .image-tile {
  position: relative;
  margin-bottom: 30px;
}
.lightGallery .image-tile .demo-gallery-poster {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.lightGallery .image-tile .demo-gallery-poster img {
  display: block;
  margin: auto;
  width: 40%;
  max-width: 60px;
  min-width: 20px;
}
.lightGallery .image-tile img {
  max-width: 100%;
  width: 100%;
}

/* Listify */
.listify-list input {
  border: 1px solid #f2f2f2;
  color: #8ba2b5;
  background: #fff;
}
.listify-list ul.list {
  list-style: none;
  padding-left: 0;
}
.listify-list ul.list li {
  display: block;
  border-bottom: 1px solid #f2f2f2;
  padding: 15px 10px;
}
.listify-list ul.list li h5 {
  color: #439aff;
}
.listify-list ul.list li p {
  color: #8ba2b5;
  margin: 0;
}

/* No-ui-slider */
.noUi-target {
  border: none;
  box-shadow: none;
  border-radius: 0;
}
.noUi-target.noUi-horizontal {
  height: 0.25rem;
}
.noUi-target.noUi-horizontal .noUi-handle {
  left: -17px;
}
.noUi-target.noUi-vertical {
  width: 0.25rem;
  height: 156px;
  display: inline-block;
}
.noUi-target.noUi-vertical .noUi-handle {
  left: -6px;
}
.noUi-target .noUi-base {
  background: #f7f7f9;
  box-shadow: none;
  border: none;
}
.noUi-target .noUi-base .noUi-connect {
  background: #439aff;
  box-shadow: none;
}
.noUi-target .noUi-base .noUi-origin {
  background: #7ed321;
}
.noUi-target .noUi-base .noUi-origin .noUi-handle {
  position: relative;
  background: #fff;
  border-radius: 100%;
  border: 1px solid #f2f2f2;
  width: 18px;
  height: 18px;
  top: -7px;
  outline: none;
  transition-duration: 0.4s;
}
.noUi-target .noUi-base .noUi-origin .noUi-handle:after, .noUi-target .noUi-base .noUi-origin .noUi-handle:before {
  display: none;
}
.noUi-target .noUi-base .noUi-origin .noUi-handle:after {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background: #439aff;
  border-radius: 100%;
}
.noUi-target .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  font-family: "Open Sans", sans-serif;
  border-radius: 4px;
  border: none;
  line-height: 1;
  font-size: 0.875rem;
  padding: 13px 12px;
  bottom: 190%;
}
.noUi-target .noUi-pips .noUi-marker-horizontal,
.noUi-target .noUi-pips .noUi-marker-vertical {
  background: #f2f2f2;
}
.noUi-target .noUi-pips .noUi-marker-horizontal {
  height: 9px;
  width: 1px;
}
.noUi-target .noUi-pips .noUi-marker-vertical {
  height: 1px;
  width: 9px;
}
.noUi-target .noUi-pips .noUi-value {
  color: #000;
  font-size: 0.94rem;
  font-family: "Open Sans", sans-serif;
}

/* Slider Color variations */
.slider-primary .noUi-base .noUi-connect {
  background: #439aff;
}
.slider-primary .noUi-base .noUi-origin {
  background: #439aff;
}
.slider-primary .noUi-base .noUi-origin .noUi-handle:after {
  background: #439aff;
}
.slider-primary .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #439aff;
  color: #fff;
}

.slider-secondary .noUi-base .noUi-connect {
  background: #fdbab1;
}
.slider-secondary .noUi-base .noUi-origin {
  background: #fdbab1;
}
.slider-secondary .noUi-base .noUi-origin .noUi-handle:after {
  background: #fdbab1;
}
.slider-secondary .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #fdbab1;
  color: #fff;
}

.slider-success .noUi-base .noUi-connect {
  background: #7ed321;
}
.slider-success .noUi-base .noUi-origin {
  background: #7ed321;
}
.slider-success .noUi-base .noUi-origin .noUi-handle:after {
  background: #7ed321;
}
.slider-success .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #7ed321;
  color: #fff;
}

.slider-info .noUi-base .noUi-connect {
  background: #4729b7;
}
.slider-info .noUi-base .noUi-origin {
  background: #4729b7;
}
.slider-info .noUi-base .noUi-origin .noUi-handle:after {
  background: #4729b7;
}
.slider-info .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #4729b7;
  color: #fff;
}

.slider-warning .noUi-base .noUi-connect {
  background: #f5a623;
}
.slider-warning .noUi-base .noUi-origin {
  background: #f5a623;
}
.slider-warning .noUi-base .noUi-origin .noUi-handle:after {
  background: #f5a623;
}
.slider-warning .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #f5a623;
  color: #fff;
}

.slider-danger .noUi-base .noUi-connect {
  background: #ff5e5e;
}
.slider-danger .noUi-base .noUi-origin {
  background: #ff5e5e;
}
.slider-danger .noUi-base .noUi-origin .noUi-handle:after {
  background: #ff5e5e;
}
.slider-danger .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #ff5e5e;
  color: #fff;
}

.slider-light .noUi-base .noUi-connect {
  background: #f3f5f6;
}
.slider-light .noUi-base .noUi-origin {
  background: #f3f5f6;
}
.slider-light .noUi-base .noUi-origin .noUi-handle:after {
  background: #f3f5f6;
}
.slider-light .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #f3f5f6;
  color: #fff;
}

.slider-dark .noUi-base .noUi-connect {
  background: #090e40;
}
.slider-dark .noUi-base .noUi-origin {
  background: #090e40;
}
.slider-dark .noUi-base .noUi-origin .noUi-handle:after {
  background: #090e40;
}
.slider-dark .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
  background: #090e40;
  color: #fff;
}

/* Owl-carousel */
.owl-carousel img {
  border-radius: 4px;
}
.owl-carousel.full-width .owl-nav {
  position: absolute;
  top: 30%;
  width: 100%;
  margin-top: 0;
}
.owl-carousel.full-width .owl-nav .owl-next,
.owl-carousel.full-width .owl-nav .owl-prev {
  background: transparent;
  color: #fff;
}
.owl-carousel.full-width .owl-nav .owl-next i:before,
.owl-carousel.full-width .owl-nav .owl-prev i:before {
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 100%;
  font-size: 1rem;
  font-weight: bold;
  line-height: 40px;
  padding: 1rem;
}
.owl-carousel.full-width .owl-nav .owl-prev {
  float: left;
}
.owl-carousel.full-width .owl-nav .owl-next {
  float: right;
}
.owl-carousel.full-width .owl-dots {
  margin-top: 1rem;
}
.owl-carousel .item-video {
  width: 200px;
  height: 200px;
}

/* Progressbar-js */
.ui-progress {
  border-radius: 50px;
}
.ui-progress svg {
  background: #f2f2f2;
  border-radius: 50px;
}

.progressbar-js-circle {
  width: 100%;
}

/* Pws-tabs */
.pws_tabs_container ul.pws_tabs_controll {
  border-bottom: 1px solid #439aff;
}
.pws_tabs_container ul.pws_tabs_controll li:first-child a {
  border-radius: 5px 0 0 0;
}
.pws_tabs_container ul.pws_tabs_controll li:last-child a {
  border-right: 1px solid #439aff;
  border-radius: 0 5px 0 0;
}
.pws_tabs_container ul.pws_tabs_controll li a {
  border: 1px solid #439aff;
  border-bottom: none;
  border-right: none;
  background: #fff;
  color: #439aff;
  padding: 0.3em 1.3em;
  margin-right: 0;
  font-weight: 500;
  font-size: 14px;
}
.pws_tabs_container ul.pws_tabs_controll li a:hover {
  background: #fff;
  color: #439aff;
}
.pws_tabs_container ul.pws_tabs_controll li a.pws_tab_active {
  background: #439aff;
  color: #fff;
}
.pws_tabs_container .demo-tabs {
  border: 1px solid #439aff;
  border-radius: 0 5px 5px 5px;
  overflow: hidden;
  background: #f3f5f6;
  margin-bottom: 45px;
  padding-top: 3.5rem;
}
.pws_tabs_container .demo-tabs .CodeMirror {
  margin-bottom: 20px;
}
.pws_tabs_container.pws_tabs_vertical .pws_tabs_controll {
  border-right: none;
  border-bottom: none;
}
.pws_tabs_container.pws_tabs_vertical .pws_tabs_controll li:first-child a {
  border-radius: 5px 0 0 0;
}
.pws_tabs_container.pws_tabs_vertical .pws_tabs_controll li:last-child a {
  border-bottom: 1px solid #439aff;
  border-radius: 0 0 0 5px;
  border-right: 0;
}
.pws_tabs_container.pws_tabs_vertical .pws_tabs_controll li a {
  border-radius: 0;
  border: 1px solid #439aff;
  border-right: none;
  border-bottom: none;
  margin-bottom: 0;
}
.pws_tabs_container.pws_tabs_horizontal_bottom .pws_tabs_list {
  margin-bottom: 0;
}
.pws_tabs_container.pws_tabs_horizontal_bottom .pws_tabs_controll {
  border-top: 1px solid #439aff;
  border-right: none;
  border-bottom: none;
}
.pws_tabs_container.pws_tabs_horizontal_bottom .pws_tabs_controll li:first-child a {
  border-radius: 0 0 0 5px;
}
.pws_tabs_container.pws_tabs_horizontal_bottom .pws_tabs_controll li:last-child a {
  border-radius: 0 0 5px 0;
  border-right: 1px solid #439aff;
}
.pws_tabs_container.pws_tabs_horizontal_bottom .pws_tabs_controll li a {
  border-radius: 0;
  border: 1px solid #439aff;
  border-top: none;
  border-right: none;
  margin-right: 0;
  margin-bottom: 0;
}
.pws_tabs_container.pws_tabs_horizontal_top .pws_tabs_controll {
  border-bottom: 0px;
}
.pws_tabs_container.pws_tabs_rtl .pws_tabs_controll li:first-child a {
  border-radius: 0 5px 0 0;
  border-right: 1px solid #439aff;
}
.pws_tabs_container.pws_tabs_rtl .pws_tabs_controll li:last-child a {
  border-right: none;
  border-radius: 5px 0 0 0;
}
.pws_tabs_container.pws_tabs_rtl .pws_tabs_controll li a {
  border: 1px solid #439aff;
  border-bottom: none;
  border-right: none;
  margin-right: 0;
  margin-left: 0;
}

/* Quill Editor */
.quill-container {
  height: 300px;
}

.ql-toolbar.ql-snow,
.quill-container.ql-snow {
  border-color: #f2f2f2;
}

/* Rating */
.br-theme-css-stars .br-widget a.br-active:after,
.br-theme-css-stars .br-widget a.br-selected:after,
.br-theme-fontawesome-stars .br-widget a.br-active:after,
.br-theme-fontawesome-stars .br-widget a.br-selected:after {
  color: #ffc107;
}

.br-theme-bars-1to10 .br-widget a,
.br-theme-bars-horizontal .br-widget a,
.br-theme-bars-movie .br-widget a,
.br-theme-bars-pill .br-widget a,
.br-theme-bars-reversed .br-widget a {
  background-color: rgba(245, 166, 35, 0.6);
  color: #f5a623;
}
.br-theme-bars-1to10 .br-widget a.br-active, .br-theme-bars-1to10 .br-widget a.br-selected,
.br-theme-bars-horizontal .br-widget a.br-active,
.br-theme-bars-horizontal .br-widget a.br-selected,
.br-theme-bars-movie .br-widget a.br-active,
.br-theme-bars-movie .br-widget a.br-selected,
.br-theme-bars-pill .br-widget a.br-active,
.br-theme-bars-pill .br-widget a.br-selected,
.br-theme-bars-reversed .br-widget a.br-active,
.br-theme-bars-reversed .br-widget a.br-selected {
  background-color: #f5a623;
}

.br-theme-bars-square .br-widget a {
  border-color: rgba(245, 166, 35, 0.6);
  color: rgba(245, 166, 35, 0.6);
}
.br-theme-bars-square .br-widget a.br-active, .br-theme-bars-square .br-widget a.br-selected {
  border-color: #f5a623;
  color: #f5a623;
}

.br-theme-bars-1to10 .br-widget .br-current-rating,
.br-theme-bars-horizontal .br-widget .br-current-rating,
.br-theme-bars-movie .br-widget .br-current-rating,
.br-theme-bars-reversed .br-widget .br-current-rating {
  color: #000;
  font-size: 0.875rem;
  font-weight: initial;
}

.br-theme-bars-1to10 {
  height: 26px;
}
.br-theme-bars-1to10 .br-widget {
  height: 24px;
}
.br-theme-bars-1to10 .br-widget .br-current-rating {
  line-height: 1;
}

.br-theme-bars-pill .br-widget a {
  line-height: 2.5;
}

.br-theme-css-stars select,
.br-theme-fontawesome-stars select,
.br-theme-bars-1to10 select,
.br-theme-bars-horizontal select,
.br-theme-bars-movie select,
.br-theme-bars-pill select,
.br-theme-bars-reversed select,
.br-theme-bars-square select {
  display: none;
}

/* Select2 */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #439aff;
}
.select2-container--default .select2-dropdown,
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
  border-color: #f2f2f2;
}
.select2-container--default .select2-dropdown .select2-search__field,
.select2-container--default .select2-selection--multiple .select2-search__field,
.select2-container--default .select2-selection--single .select2-search__field {
  border-color: #f2f2f2;
}
.select2-container--default .select2-selection--single {
  height: auto;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 14px;
}
.select2-container--default .select2-dropdown {
  font-size: 0.8125rem;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #f2f2f2;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  color: #fff;
  border: 0;
  border-radius: 3px;
  padding: 6px;
  font-size: 0.625rem;
  font-family: inherit;
  line-height: 1;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
  color: #fff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+1) {
  background: #439aff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+2) {
  background: #7ed321;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+3) {
  background: #4729b7;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+4) {
  background: #ff5e5e;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice:nth-child(5n+5) {
  background: #f5a623;
}

/* Summernote Editor */
.note-editor.note-frame {
  border: 1px solid #f2f2f2;
}

.note-popover {
  border: 1px solid #f2f2f2;
}

/* SweetAlert */
.swal2-container {
  z-index: 1500;
}

.swal2-modal {
  min-height: 315px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 10px;
}
.swal2-modal .swal2-title {
  font-size: 25px;
  line-height: 1;
  font-family: "Open Sans", sans-serif;
  color: #000;
  font-weight: initial;
  margin-bottom: 0;
}
.swal2-modal .swal2-icon,
.swal2-modal .swal2-success-ring {
  margin-top: 0;
  margin-bottom: 42px;
}
.swal2-modal .swal2-buttonswrapper {
  margin-top: 0;
  padding: 0;
}
.swal2-modal .swal2-buttonswrapper .swal2-styled {
  margin-top: 0;
  font-weight: initial;
}
.swal2-modal .swal2-content {
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  color: #000;
  font-weight: initial;
  margin-top: 11px;
}
.swal2-modal .swal2-close {
  font-size: 20px;
}
.swal2-modal .swal2-success-ring {
  left: -30px;
}

/* Switchery */
.switchery {
  width: 35px;
  height: 21px;
  border-radius: 11px;
}
.switchery > small {
  width: 20px;
  height: 20px;
}

.switchery-small {
  width: 25px;
  height: 13px;
}
.switchery-small > small {
  width: 13px;
  height: 13px;
}

.switchery-large {
  width: 50px;
  height: 28px;
  border-radius: 14px;
}
.switchery-large > small {
  width: 27px;
  height: 27px;
}

/* Tags */
div.tagsinput {
  padding: 15px 15px 10px;
  border-color: #f2f2f2;
}
div.tagsinput span.tag {
  background: #439aff;
  border: 0;
  color: #fff;
  padding: 6px 14px;
  font-size: 0.8125rem;
  font-family: inherit;
  line-height: 1;
}
div.tagsinput span.tag a {
  color: #fff;
}

/* TinyMCE Editor */
.mce-tinymce.mce-panel,
.mce-tinymce .mce-panel {
  border-color: #f2f2f2;
}

/* Toast */
.jq-toast-wrap .jq-icon-success {
  background-color: #7ed321;
}
.jq-toast-wrap .jq-icon-info {
  background-color: #4729b7;
}
.jq-toast-wrap .jq-icon-warning {
  background-color: #f5a623;
}
.jq-toast-wrap .jq-icon-error {
  background-color: #ff5e5e;
}

/* Typeahead */
.gist,
.tt-menu {
  text-align: left;
}

.twitter-typeahead {
  max-width: 100%;
}

.typeahead {
  background-color: #fff;
}
.typeahead:focus {
  border-color: #f2f2f2;
}

.tt-query {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
  color: #6c757d;
}

.tt-menu {
  width: 100%;
  margin: 12px 0;
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #f2f2f2;
  border-radius: 8px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.tt-suggestion {
  padding: 3px 20px;
  font-size: inherit;
}
.tt-suggestion:hover {
  cursor: pointer;
  color: #fff;
  background-color: #439aff;
}
.tt-suggestion .tt-cursor {
  color: #fff;
  background-color: #439aff;
}
.tt-suggestion p {
  margin: 0;
}

/* Wysi Editor */
.wysi-editor #toolbar [data-wysihtml-action] {
  float: right;
}
.wysi-editor #toolbar,
.wysi-editor textarea {
  width: 920px;
  padding: 5px;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.wysi-editor textarea {
  height: 280px;
  border: 1px solid #f2f2f2;
  font-family: inherit;
  font-size: 1rem;
}
.wysi-editor textarea:focus {
  color: black;
  border: 1px solid #f2f2f2;
}
.wysi-editor .wysihtml-action-active,
.wysi-editor .wysihtml-command-active {
  font-weight: bold;
}
.wysi-editor [data-wysihtml-dialog] {
  margin: 5px 0 0;
  padding: 5px;
  border: 1px solid #666;
}
.wysi-editor a[data-wysihtml-command-value=red] {
  color: #ff5e5e;
}
.wysi-editor a[data-wysihtml-command-value=green] {
  color: #7ed321;
}
.wysi-editor a[data-wysihtml-command-value=blue] {
  color: #4729b7;
}
.wysi-editor .wysihtml-editor,
.wysi-editor .wysihtml-editor table td {
  outline: 1px dotted #f2f2f2;
}
.wysi-editor code {
  background: #ddd;
  padding: 10px;
  white-space: pre;
  display: block;
  margin: 1em 0;
}
.wysi-editor .toolbar {
  display: block;
  border-radius: 3px;
  border: 1px solid #fff;
  margin-bottom: 9px;
  line-height: 1em;
}
.wysi-editor .toolbar a {
  display: inline-block;
  height: 1.5em;
  border-radius: 3px;
  font-size: 1rem;
  line-height: 1.5em;
  text-decoration: none;
  background: #fff;
  border: 1px solid #f2f2f2;
  padding: 0 0.2em;
  margin: 1px 0;
  color: #439aff;
}
.wysi-editor .toolbar .wysihtml-action-active,
.wysi-editor .toolbar a.wysihtml-command-active {
  background: #222;
  color: white;
}
.wysi-editor .toolbar .block {
  padding: 1px;
  display: inline-block;
  background: #eee;
  border-radius: 3px;
  margin: 0 1px 1px 0;
}
.wysi-editor div[data-wysihtml-dialog=createTable] {
  position: absolute;
  background: white;
}
.wysi-editor div[data-wysihtml-dialog=createTable] td {
  width: 10px;
  height: 5px;
  border: 1px solid #f2f2f2;
}
.wysi-editor .wysihtml-editor table td.wysiwyg-tmp-selected-cell {
  outline: 2px solid #7ed321;
}
.wysi-editor .editor-container-tag {
  padding: 5px 10px;
  position: absolute;
  color: white;
  background: rgba(0, 0, 0, 0.8);
  width: 100px;
  margin-left: -50px;
  -webkit-transition: 0.1s left, 0.1s top;
}
.wysi-editor .wrap {
  max-width: 700px;
  margin: 40px;
}
.wysi-editor .editable .wysihtml-uneditable-container {
  outline: 1px dotted #f2f2f2;
  position: relative;
}
.wysi-editor .editable .wysihtml-uneditable-container-right {
  float: right;
  width: 50%;
  margin-left: 2em;
  margin-bottom: 1em;
}
.wysi-editor .editable .wysihtml-uneditable-container-left {
  float: left;
  width: 50%;
  margin-right: 2em;
  margin-bottom: 1em;
}

/* X-editable */
.editable-form .editable {
  color: #000;
  font-size: 0.8125rem;
}
.editable-form .editable-click {
  border-color: #000;
}

.editable-container.editable-inline {
  max-width: 100%;
}
.editable-container.editable-inline .editableform {
  max-width: 100%;
}
.editable-container.editable-inline .editableform .control-group {
  max-width: 100%;
  white-space: initial;
}
.editable-container.editable-inline .editableform .control-group > div {
  max-width: 100%;
}
.editable-container.editable-inline .editableform .control-group .editable-input input,
.editable-container.editable-inline .editableform .control-group .editable-input textarea {
  max-width: 100%;
}
.editable-container.editable-inline .editableform .control-group .editable-input .combodate .form-control, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .asColorPicker-input, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .dataTables_wrapper select, .dataTables_wrapper .editable-container.editable-inline .editableform .control-group .editable-input .combodate select, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .editable-container.editable-inline .editableform .control-group .editable-input .combodate input[type=text],
.editable-container.editable-inline .editableform .control-group .editable-input .combodate .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .editable-container.editable-inline .editableform .control-group .editable-input .combodate select, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .editable-container.editable-inline .editableform .control-group .editable-input .combodate input[type=number], .editable-container.editable-inline .editableform .control-group .editable-input .combodate .select2-container--default .select2-selection--single, .select2-container--default .editable-container.editable-inline .editableform .control-group .editable-input .combodate .select2-selection--single, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .editable-container.editable-inline .editableform .control-group .editable-input .combodate .select2-search__field, .editable-container.editable-inline .editableform .control-group .editable-input .combodate .tt-hint,
.editable-container.editable-inline .editableform .control-group .editable-input .combodate .tt-query,
.editable-container.editable-inline .editableform .control-group .editable-input .combodate .typeahead {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 991px) {
  .editable-container.editable-inline .editableform .control-group .editable-buttons {
    display: block;
    margin-top: 10px;
  }
}
/* Wizard */
.wizard {
  display: block;
  width: 100%;
  overflow: hidden;
}
.wizard a {
  outline: 0;
}
.wizard ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wizard ul > li {
  display: block;
  padding: 0;
}
.wizard > .steps {
  position: relative;
  display: block;
  width: 100%;
}
.wizard > .steps .current-info {
  position: absolute;
  left: -999em;
}
.wizard > .steps .number {
  font-size: 0.875rem;
}
.wizard > .steps > ul > li {
  width: 25%;
  float: left;
  text-align: center;
}
.wizard > .steps a {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em;
  text-decoration: none;
  border-radius: 5px;
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
}
.wizard > .steps a:hover {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em;
  text-decoration: none;
  border-radius: 5px;
}
.wizard > .steps a:active {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em;
  text-decoration: none;
  border-radius: 5px;
}
.wizard > .steps .disabled a {
  background: #f7f7f9;
  color: #6c757d;
  cursor: default;
}
.wizard > .steps .disabled a:hover {
  background: #f7f7f9;
  color: #6c757d;
  cursor: default;
}
.wizard > .steps .disabled a:active {
  background: #f7f7f9 e;
  color: #6c757d;
  cursor: default;
}
.wizard > .steps .current a {
  background: #439aff;
  color: #fff;
  cursor: default;
}
.wizard > .steps .current a:hover {
  background: #439aff;
  color: #fff;
  cursor: default;
}
.wizard > .steps .current a:active {
  background: #439aff;
  color: #fff;
  cursor: default;
}
.wizard > .steps .done a {
  background: #a9d1ff;
  color: #fff;
}
.wizard > .steps .done a:hover {
  background: #a9d1ff;
  color: #fff;
}
.wizard > .steps .done a:active {
  background: #a9d1ff;
  color: #fff;
}
.wizard > .steps .error a {
  background: #ff5e5e;
  color: #fff;
}
.wizard > .steps .error a:hover {
  background: #ff5e5e;
  color: #fff;
}
.wizard > .steps .error a:active {
  background: #ff5e5e;
  color: #fff;
}
.wizard > .content {
  background: #f0f2f7;
  display: block;
  margin: 0.5em;
  min-height: 24em;
  overflow: hidden;
  position: relative;
  width: auto;
  border-radius: 5px;
}
.wizard > .content > .title {
  position: absolute;
  left: -999em;
}
.wizard > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%;
}
.wizard > .content > .body ul {
  list-style: disc;
}
.wizard > .content > .body ul > li {
  display: list-item;
}
.wizard > .content > .body > iframe {
  border: 0 none;
  width: 100%;
  height: 100%;
}
.wizard > .content > .body input {
  display: block;
  border: 1px solid #f2f2f2;
}
.wizard > .content > .body input[type=checkbox] {
  display: inline-block;
}
.wizard > .content > .body input.error {
  background: rgb(251, 227, 228);
  border: 1px solid #ffc4c4;
  color: #ff5e5e;
}
.wizard > .content > .body label {
  display: inline-block;
  margin-bottom: 0.5em;
}
.wizard > .content > .body label.error {
  color: #ff5e5e;
  display: inline-block;
  margin-left: 1.5em;
}
.wizard > .actions {
  padding-top: 20px;
  position: relative;
  display: block;
  text-align: right;
  width: 100%;
}
.wizard > .actions > ul {
  display: inline-block;
  text-align: right;
}
.wizard > .actions > ul > li {
  float: left;
  margin: 0 0.5em;
}
.wizard.vertical > .steps {
  display: inline;
  float: left;
  width: 30%;
}
.wizard.vertical > .steps > ul > li {
  float: none;
  width: 100%;
  text-align: left;
}
.wizard.vertical > .content {
  display: inline;
  float: left;
  margin: 0 2.5% 0.5em;
  width: 65%;
}
.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%;
}
.wizard.vertical > .actions > ul > li {
  margin: 0 0 0 1em;
}

.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden;
}
.tabcontrol a {
  outline: 0;
}
.tabcontrol ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tabcontrol ul > li {
  display: block;
  padding: 0;
}
.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%;
}
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em;
}
.tabcontrol > .steps > ul {
  position: relative;
  margin: 6px 0 0;
  top: 1px;
  z-index: 1;
}
.tabcontrol > .steps > ul > li {
  float: left;
  margin: 5px 2px 0 0;
  padding: 1px;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.tabcontrol > .steps > ul > li:hover {
  background: #edecec;
  border: 1px solid #f2f2f2;
  padding: 0;
}
.tabcontrol > .steps > ul > li > a {
  color: #8ba2b5;
  display: inline-block;
  border: 0 none;
  margin: 0;
  padding: 10px 30px;
  text-decoration: none;
}
.tabcontrol > .steps > ul > li > a:hover {
  text-decoration: none;
}
.tabcontrol > .steps > ul > li.current {
  background: #fff;
  border: 1px solid #f2f2f2;
  border-bottom: 0 none;
  padding: 0 0 1px;
  margin-top: 0;
}
.tabcontrol > .steps > ul > li.current > a {
  padding: 15px 30px 10px;
}
.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 35em;
  overflow: hidden;
  border-top: 1px solid #f2f2f2;
  padding-top: 20px;
}
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em;
}
.tabcontrol > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%;
}
.tabcontrol > .content > .body ul {
  list-style: disc;
}
.tabcontrol > .content > .body ul > li {
  display: list-item;
}

/*-------------------------------------------------------------------*/
/* === Landing screens === */
/* Auth */
.auth {
  min-height: 100vh;
}
.auth.auth-bg-1 {
  background: url("https://via.placeholder.com/400x400");
  background-size: cover;
}
.auth.register-bg-1 {
  background: url("https://via.placeholder.com/400x400") center center no-repeat;
  background-size: cover;
}
.auth.theme-one .auto-form-wrapper {
  background: #fff;
  padding: 40px 40px 10px;
  border-radius: 4px;
  box-shadow: 0 -25px 37.7px 11.3px rgba(8, 143, 220, 0.07);
}
.auth.theme-one .auto-form-wrapper .form-group .input-group .form-control, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .form-control, .auth.theme-one .auto-form-wrapper .form-group .input-group .asColorPicker-input, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .asColorPicker-input, .auth.theme-one .auto-form-wrapper .form-group .input-group .dataTables_wrapper select, .dataTables_wrapper .auth.theme-one .auto-form-wrapper .form-group .input-group select, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .dataTables_wrapper select, .dataTables_wrapper .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap select, .auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group input[type=text], .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap input[type=text],
.auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group select,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap select, .auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group input[type=number], .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap input[type=number], .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-container--default .select2-selection--single, .select2-container--default .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-selection--single, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single, .select2-container--default .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-selection--single, .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-search__field, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-search__field, .auth.theme-one .auto-form-wrapper .form-group .input-group .tt-hint, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .tt-hint,
.auth.theme-one .auto-form-wrapper .form-group .input-group .tt-query,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .tt-query,
.auth.theme-one .auto-form-wrapper .form-group .input-group .typeahead,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .typeahead {
  border: 1px solid #e5e5e5;
  border-right: none;
  border-radius: 6px 0 0 6px;
}
.auth.theme-one .auto-form-wrapper .form-group .input-group .form-control:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .form-control:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .asColorPicker-input:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .asColorPicker-input:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .dataTables_wrapper select:focus, .dataTables_wrapper .auth.theme-one .auto-form-wrapper .form-group .input-group select:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .dataTables_wrapper select:focus, .dataTables_wrapper .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap select:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group input[type=text]:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap input[type=text]:focus,
.auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group select:focus,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap select:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .input-group input[type=number]:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap input[type=number]:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-container--default .select2-selection--single:focus, .select2-container--default .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-selection--single:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single:focus, .select2-container--default .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-selection--single:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth.theme-one .auto-form-wrapper .form-group .input-group .select2-search__field:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .select2-search__field:focus, .auth.theme-one .auto-form-wrapper .form-group .input-group .tt-hint:focus, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .tt-hint:focus,
.auth.theme-one .auto-form-wrapper .form-group .input-group .tt-query:focus,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .tt-query:focus,
.auth.theme-one .auto-form-wrapper .form-group .input-group .typeahead:focus,
.auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .typeahead:focus {
  border-right: none;
  border-color: #e5e5e5;
}
.auth.theme-one .auto-form-wrapper .form-group .input-group .input-group-append, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .input-group-append {
  border-left: none;
}
.auth.theme-one .auto-form-wrapper .form-group .input-group .input-group-append .input-group-text, .auth.theme-one .auto-form-wrapper .form-group .asColorPicker-wrap .input-group-append .input-group-text {
  border-radius: 0 6px 6px 0;
  border-left: none;
  border-color: #e5e5e5;
  color: #b6b6b6;
}
.auth.theme-one .auto-form-wrapper .form-group .submit-btn {
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  padding: 12px 8px;
  font-weight: 600;
}
.auth.theme-one .auto-form-wrapper .g-login {
  border: 1px solid #f2f2f2;
  padding: 13px;
  font-size: 12px;
  font-weight: 600;
  background: transparent;
}
.auth.theme-one .auth-footer {
  list-style-type: none;
  padding-left: 0;
  margin-top: 20px;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
}
.auth.theme-one .auth-footer li {
  margin-right: 10px;
  line-height: 1;
  padding-right: 10px;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}
.auth.theme-one .auth-footer li:last-child {
  margin-right: 0;
  border-right: none;
}
.auth.theme-one .auth-footer li a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}
@media (max-width: 767.98px) {
  .auth.theme-one .auth-footer {
    justify-content: center;
  }
}
.auth.theme-one .footer-text {
  color: rgba(255, 255, 255, 0.4);
}
.auth.theme-two .auto-form-wrapper {
  position: relative;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  padding: 110px 5% 5%;
  border-radius: 4px;
}
@media (max-width: 767.98px) {
  .auth.theme-two .auto-form-wrapper {
    padding: 11% 15px;
    text-align: center;
    height: 100%;
    max-height: 100%;
  }
}
.auth.theme-two .auto-form-wrapper .nav-get-started {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  top: 30px;
  right: 30px;
}
@media (max-width: 767.98px) {
  .auth.theme-two .auto-form-wrapper .nav-get-started {
    margin-bottom: 5%;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    top: unset;
    right: unset;
    justify-content: center;
  }
}
.auth.theme-two .auto-form-wrapper .nav-get-started p {
  margin-bottom: 0;
  font-weight: 300;
}
.auth.theme-two .auto-form-wrapper .nav-get-started .get-started-btn {
  border: 1px solid #f2f2f2;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 600;
  color: #000;
  margin-left: 20px;
  border-radius: 50px;
}
.auth.theme-two .auto-form-wrapper form {
  width: 50%;
  min-width: 300px;
  max-width: 480px;
}
.auth.theme-two .auto-form-wrapper form .form-group {
  width: 100%;
  margin-bottom: 25px;
}
@media (max-width: 767.98px) {
  .auth.theme-two .auto-form-wrapper form .form-group {
    margin-right: auto;
    margin-left: auto;
  }
}
.auth.theme-two .auto-form-wrapper form .form-group .input-group .form-control, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .form-control, .auth.theme-two .auto-form-wrapper form .form-group .input-group .asColorPicker-input, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .asColorPicker-input, .auth.theme-two .auto-form-wrapper form .form-group .input-group .dataTables_wrapper select, .dataTables_wrapper .auth.theme-two .auto-form-wrapper form .form-group .input-group select, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .dataTables_wrapper select, .dataTables_wrapper .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap select, .auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group input[type=text], .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap input[type=text],
.auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group select,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap select, .auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group input[type=number], .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number], .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap input[type=number], .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-container--default .select2-selection--single, .select2-container--default .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-selection--single, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single, .select2-container--default .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-selection--single, .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-search__field, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-search__field, .auth.theme-two .auto-form-wrapper form .form-group .input-group .tt-hint, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .tt-hint,
.auth.theme-two .auto-form-wrapper form .form-group .input-group .tt-query,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .tt-query,
.auth.theme-two .auto-form-wrapper form .form-group .input-group .typeahead,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .typeahead {
  border: 1px solid #e5e5e5;
  border-left: none;
  border-radius: 0 6px 6px 0;
}
.auth.theme-two .auto-form-wrapper form .form-group .input-group .form-control:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .form-control:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .asColorPicker-input:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .asColorPicker-input:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .dataTables_wrapper select:focus, .dataTables_wrapper .auth.theme-two .auto-form-wrapper form .form-group .input-group select:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .dataTables_wrapper select:focus, .dataTables_wrapper .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap select:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group input[type=text]:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=text]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap input[type=text]:focus,
.auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row select:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group select:focus,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row select:focus,
.jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap select:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .input-group input[type=number]:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .jsgrid .jsgrid-table .jsgrid-filter-row input[type=number]:focus, .jsgrid .jsgrid-table .jsgrid-filter-row .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap input[type=number]:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-container--default .select2-selection--single:focus, .select2-container--default .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-selection--single:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single:focus, .select2-container--default .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-selection--single:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth.theme-two .auto-form-wrapper form .form-group .input-group .select2-search__field:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-container--default .select2-selection--single .select2-search__field:focus, .select2-container--default .select2-selection--single .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .select2-search__field:focus, .auth.theme-two .auto-form-wrapper form .form-group .input-group .tt-hint:focus, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .tt-hint:focus,
.auth.theme-two .auto-form-wrapper form .form-group .input-group .tt-query:focus,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .tt-query:focus,
.auth.theme-two .auto-form-wrapper form .form-group .input-group .typeahead:focus,
.auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .typeahead:focus {
  border-left: none;
  border-color: #e5e5e5;
}
.auth.theme-two .auto-form-wrapper form .form-group .input-group .input-group-prepend .input-group-text, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .input-group-prepend .input-group-text, .auth.theme-two .auto-form-wrapper form .form-group .input-group .asColorPicker-trigger .input-group-text, .auth.theme-two .auto-form-wrapper form .form-group .asColorPicker-wrap .asColorPicker-trigger .input-group-text {
  border-radius: 6px 0 0 6px;
  border-color: #e5e5e5;
  border-right: none;
  color: #dfdfdf;
}
.auth.theme-two .auto-form-wrapper form .form-group .submit-btn {
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  padding: 11px 33px;
  font-weight: 600;
  background: #439aff;
}
.auth.theme-two .auto-form-wrapper .footer-text {
  font-size: 13px;
  margin-bottom: 0;
}
.auth.theme-two .auto-form-wrapper .auth-footer {
  list-style-type: none;
  display: flex;
  margin-top: 7px;
  padding-left: 0;
  margin-bottom: 0;
}
.auth.theme-two .auto-form-wrapper .auth-footer li {
  margin-right: 10px;
  line-height: 1;
  padding-right: 10px;
  border-right: 1px solid #959595;
}
.auth.theme-two .auto-form-wrapper .auth-footer li:last-child {
  margin-right: 0;
  border-right: none;
}
.auth.theme-two .auto-form-wrapper .auth-footer li a {
  font-size: 13px;
  color: #959595;
}
@media (max-width: 767.98px) {
  .auth.theme-two .auto-form-wrapper .auth-footer {
    justify-content: center;
  }
}
.auth.theme-two .banner-section {
  padding-right: 0;
}
.auth.theme-two .banner-section .slide-content {
  width: 100%;
}
.auth.theme-two .banner-section .slide-content.bg-1 {
  background: url("https://via.placeholder.com/400x400") no-repeat center center;
  background-size: cover;
}
.auth.theme-two .banner-section .slide-content.bg-2 {
  background: url("https://via.placeholder.com/400x400") no-repeat center center;
  background-size: cover;
}

.lock-full-bg {
  background: url("https://via.placeholder.com/400x400");
  background-size: cover;
}

/* Error */
.error-page {
  min-height: 100vh;
}
.error-page h1 {
  font-size: 9.375rem;
  line-height: 1;
}
@media (max-width: 991px) {
  .error-page h1 {
    font-size: 8rem;
  }
}
.error-page h2 {
  font-size: 4.375rem;
  line-height: 1;
}
@media (min-width: 992px) {
  .error-page .error-page-divider {
    border-left: 3px solid rgba(255, 255, 255, 0.2);
  }
}

.profile-page .profile-header {
  width: 100%;
  background: url("https://via.placeholder.com/1055x92") no-repeat center center;
  background-size: cover;
  padding: 60px 0;
  border-radius: 5px;
}
.profile-page .profile-header .profile-info .profile-user-name {
  margin-bottom: 0;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
}
.profile-page .profile-header .profile-info .profile-user-designation {
  margin-bottom: 0;
  font-family: "Open Sans", sans-serif;
}
.profile-page .profile-header .profile-info .br-wrapper {
  padding-left: 15px;
}
.profile-page .profile-header .profile-info .br-wrapper .br-widget {
  height: auto;
  transform: translateY(-5px);
}
.profile-page .profile-header .profile-info .br-wrapper .br-widget a {
  font-size: 18px;
  margin-right: 0;
}
@media (max-width: 767px) {
  .profile-page .profile-header .profile-info {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.profile-page .profile-header .details {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .profile-page .profile-header .details {
    padding-left: 15px;
    padding-right: 15px;
    margin-top: 15px;
  }
}
.profile-page .profile-header .details .detail-col {
  padding-right: 20%;
  border-right: 1px solid rgba(242, 242, 242, 0.3);
  margin-right: 20%;
}
.profile-page .profile-header .details .detail-col:last-child {
  border-right: none;
  margin-right: 0;
}
.profile-page .profile-header .details .detail-col p {
  margin-bottom: 0;
  font-weight: 400;
}
.profile-page .profile-header .details .detail-col p:first-child {
  font-weight: 700;
}
.profile-page .profile-body {
  padding-top: 50px;
}
.profile-page .profile-body .tab-switch {
  border-bottom: 1px solid #f2f2f2;
}
.profile-page .profile-body .tab-switch .nav-item .nav-link {
  color: #959595;
  font-size: 1rem;
  padding-bottom: 1.2rem;
  font-weight: 600;
  border-bottom: 3px solid #fff;
  transition-duration: 0.4s;
  transition-timing-function: ease-in;
  transition-property: color, border-color;
}
.profile-page .profile-body .tab-switch .nav-item .nav-link.active {
  color: #000;
  border-bottom: 3px solid #439aff;
}
.profile-page .profile-body .tab-body {
  border: none;
  padding: 10px 0;
}
.profile-page .profile-body .tab-body .stages {
  position: relative;
}
.profile-page .profile-body .tab-body .stages .stage-badge {
  position: absolute;
  top: 0;
  left: -20px;
}
.profile-page .profile-body .tab-body .stages .file-icon-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.profile-page .profile-body .tab-body .stages .file-icon-wrapper .file-icon {
  height: 77px;
  width: 69px;
  padding: 5px;
  margin-right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-page .profile-body .tab-body .stages .file-icon-wrapper .file-icon i {
  font-size: 43px;
  margin-right: 0;
}

/*-------------------------------------------------------------------*/
/* === Layouts === */
/*-------------------------------------------------------------------*/
.table_premium tbody > tr > td {
  padding: 0.325rem;
}
.table_premium tbody > tr > td:first-child {
  text-align: center;
  font-weight: bold;
}
.table_premium tbody > tr > td > div {
  height: 15px;
  padding-left: 0.325rem;
  color: #fff;
}
.table_premium tbody > tr > td > div.plus {
  background: #439aff;
}
.table_premium tbody > tr > td > div.minus {
  background: #ff5e5e;
}
.table_premium tbody > tr > td > div.out1 {
  background: #f5a623;
}
.table_premium tbody > tr > td > div.out2 {
  background: #439aff;
}
.table_premium tbody > tr > td > div.out3 {
  background: #ff5e5e;
}
.table_premium tbody > tr > td > div.out4 {
  background: #4729b7;
}

.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.vertical-timeline .timeline-wrapper .timeline-badge {
  z-index: 1;
}

.card-bid {
  padding: 1.05rem !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2FwcC5jc3MiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBOEhoQjtBQUNBO0FBTUE7QUFDQTtBQUdBO0FBQ0E7QUFNQTtBQUNBO0FDakpBOzs7OztFQUFBO0FDQUE7RUFHSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBS0Y7RUFDQTtBRjBDRjs7QUd6Q0E7OztFQUdFO0FINENGOztBR3pDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FINENGOztBR3RDQTtFQUNFO0FIeUNGOztBRy9CQTtFQUNFO0VBQ0EscU5Dc080QjtFQ2pHeEI7RUZuSUosZ0JDK080QjtFRDlPNUIsZ0JDbVA0QjtFRGxQNUIsV0NsQ1M7RURtQ1Q7RUFDQSxzQkM5Q1M7QUpnRlg7O0FHdEJBO0VBQ0U7QUh5QkY7O0FHaEJBO0VBQ0U7RUFDQTtFQUNBO0FIbUJGOztBR05BO0VBQ0U7RUFDQSxxQkNpTjRCO0FKeE05Qjs7QUdGQTtFQUNFO0VBQ0EsbUJDb0YwQjtBSi9FNUI7O0FHTUE7O0VBRUU7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QUhIRjs7QUdNQTtFQUNFO0VBQ0E7RUFDQTtBSEhGOztBR01BOzs7RUFHRTtFQUNBO0FISEY7O0FHTUE7Ozs7RUFJRTtBSEhGOztBR01BO0VBQ0UsZ0JDa0o0QjtBSnJKOUI7O0FHTUE7RUFDRTtFQUNBO0FISEY7O0FHTUE7RUFDRTtBSEhGOztBR01BOztFQUVFLG1CQ3FJNEI7QUp4STlCOztBR01BO0VFSUk7QUxOSjs7QUdXQTs7RUFFRTtFRVBFO0VGU0Y7RUFDQTtBSFJGOztBR1dBO0VBQU07QUhQTjs7QUdRQTtFQUFNO0FISk47O0FHV0E7RUFDRSxjQ1h3QztFRFl4QyxxQkNYd0M7RURZeEM7QUhSRjtBTXhLRTtFSG1MRSxjQ2RzQztFRGV0QywwQkNkc0M7QUpNMUM7O0FHaUJBO0VBQ0U7RUFDQTtBSGRGO0FNakxFO0VIa01FO0VBQ0E7QUhkSjs7QUd1QkE7Ozs7RUFJRSxpR0MwRDRCO0VDbEgxQjtBTHFDSjs7QUd1QkE7RUFFRTtFQUVBO0VBRUE7RUFHQTtBSHpCRjs7QUdpQ0E7RUFFRTtBSC9CRjs7QUd1Q0E7RUFDRTtFQUNBO0FIcENGOztBR3VDQTtFQUdFO0VBQ0E7QUh0Q0Y7O0FHOENBO0VBQ0U7QUgzQ0Y7O0FHOENBO0VBQ0Usb0JDOEU0QjtFRDdFNUIsdUJDNkU0QjtFRDVFNUIsY0N0UVM7RUR1UVQ7RUFDQTtBSDNDRjs7QUdrREE7RUFFRTtFQUNBO0FIaERGOztBR3dEQTtFQUVFO0VBQ0EscUJDNEpzQztBSmxOeEM7O0FHNERBO0VBRUU7QUgxREY7O0FHa0VBO0VBQ0U7QUgvREY7O0FHa0VBOzs7OztFQUtFO0VBQ0E7RUVoS0U7RUZrS0Y7QUgvREY7O0FHa0VBOztFQUVFO0FIL0RGOztBR2tFQTs7RUFFRTtBSC9ERjs7QUdxRUE7RUFDRTtBSGxFRjs7QUd3RUE7RUFDRTtBSHJFRjs7QUc0RUE7Ozs7RUFJRTtBSHpFRjs7QUdrRkk7Ozs7RUFDRTtBSDVFTjs7QUdrRkE7Ozs7RUFJRTtFQUNBO0FIL0VGOztBR2tGQTs7RUFFRTtFQUNBO0FIL0VGOztBR21GQTtFQUNFO0VBRUE7QUhqRkY7O0FHb0ZBO0VBTUU7RUFFQTtFQUNBO0VBQ0E7QUh2RkY7O0FHNEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRTlPSTtFRmdQSjtFQUNBO0VBQ0E7QUh6RkY7O0FHNEZBO0VBQ0U7QUh6RkY7O0FHNkZBOztFQUVFO0FIMUZGOztBRzZGQTtFQUtFO0VBQ0E7QUg5RkY7O0FHcUdBO0VBQ0U7QUhsR0Y7O0FHMEdBO0VBQ0U7RUFDQTtBSHZHRjs7QUc4R0E7RUFDRTtBSDNHRjs7QUc4R0E7RUFDRTtFQUNBO0FIM0dGOztBRzhHQTtFQUNFO0FIM0dGOztBR2dIQTtFQUNFO0FIN0dGOztBTy9XQTs7RUFFRSxxQkhzUzRCO0VHcFM1QixnQkhzUzRCO0VHclM1QixnQkhzUzRCO0FKMkU5Qjs7QU83V0E7RUZxS007QUw0TU47O0FPaFhBO0VGb0tNO0FMZ05OOztBT25YQTtFRm1LTTtBTG9OTjs7QU90WEE7RUZrS007QUx3Tk47O0FPelhBO0VGaUtNO0FMNE5OOztBTzVYQTtFRmdLTTtBTGdPTjs7QU85WEE7RUY4Sk07RUU1SkosZ0JId1M0QjtBSnlGOUI7O0FPN1hBO0VGd0pNO0VFdEpKLGdCSDJSNEI7RUcxUjVCLGdCSGtSNEI7QUo4RzlCOztBTzlYQTtFRm1KTTtFRWpKSixnQkh1UjRCO0VHdFI1QixnQkg2UTRCO0FKb0g5Qjs7QU8vWEE7RUY4SU07RUU1SUosZ0JIbVI0QjtFR2xSNUIsZ0JId1E0QjtBSjBIOUI7O0FPaFlBO0VGeUlNO0VFdklKLGdCSCtRNEI7RUc5UTVCLGdCSG1RNEI7QUpnSTlCOztBTzNYQTtFQUNFLGdCSGdGTztFRy9FUCxtQkgrRU87RUc5RVA7RUFDQTtBUDhYRjs7QU90WEE7O0VGa0dJO0VFL0ZGLGdCSDJONEI7QUo4SjlCOztBT3RYQTs7RUFFRSxjSG1RNEI7RUdsUTVCLHlCSDJRNEI7QUo4RzlCOztBT2pYQTtFQy9FRTtFQUNBO0FSb2NGOztBT2pYQTtFQ3BGRTtFQUNBO0FSeWNGOztBT25YQTtFQUNFO0FQc1hGO0FPcFhFO0VBQ0Usb0JIcVAwQjtBSmlJOUI7O0FPNVdBO0VGMkRJO0VFekRGO0FQK1dGOztBTzNXQTtFQUNFLG1CSHVCTztFQzZDSDtBTDJTTjs7QU8zV0E7RUFDRTtFRitDRTtFRTdDRixjSDFHUztBSndkWDtBTzVXRTtFQUNFO0FQOFdKOztBU2plQTtFQ0lFO0VBR0E7QVYrZEY7O0FTaGVBO0VBQ0UsZ0JMcWdDa0M7RUtwZ0NsQyxzQkxSUztFS1NUO0VFRUU7RURQRjtFQUdBO0FWd2VGOztBUzFkQTtFQUVFO0FUNGRGOztBU3pkQTtFQUNFO0VBQ0E7QVQ0ZEY7O0FTemRBO0VKOEhJO0VJNUhGLGNMM0JTO0FKdWZYOztBWW5nQkE7RVBtS0k7RU9qS0YsY1JtQ1E7RVFsQ1I7QVpzZ0JGO0FZbmdCRTtFQUNFO0FacWdCSjs7QVloZ0JBO0VBQ0U7RVBzSkU7RU9wSkYsV1JUUztFUVVULHlCUkRTO0VPRVA7QVhtZ0JKO0FZaGdCRTtFQUNFO0VQOElBO0VPNUlBLGdCUnlRMEI7QUp5UDlCOztBWTVmQTtFQUNFO0VQcUlFO0VPbklGLGNSakJTO0FKZ2hCWDtBWTVmRTtFUGdJRTtFTzlIQTtFQUNBO0FaOGZKOztBWXpmQTtFQUNFLGlCUmlrQ2tDO0VRaGtDbEM7QVo0ZkY7O0FhcGlCRTs7Ozs7O0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDhpQkY7O0FlM2ZJO0VGekNFO0lBQ0UsZ0JUOExlO0VKMFdyQjtBQUNGO0FlamdCSTtFRnpDRTtJQUNFLGdCVDhMZTtFSitXckI7QUFDRjtBZXRnQkk7RUZ6Q0U7SUFDRSxnQlQ4TGU7RUpvWHJCO0FBQ0Y7QWUzZ0JJO0VGekNFO0lBQ0UsaUJUOExlO0VKeVhyQjtBQUNGO0FhNWhCRTtFQ25DQTtFQUNBO0VBQ0E7RUFDQTtBZGtrQkY7O0FhNWhCRTtFQUNFO0VBQ0E7QWIraEJKO0FhN2hCSTs7RUFFRTtFQUNBO0FiK2hCTjs7QWdCcmxCRTs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhCNmxCSjs7QWdCdmtCTTtFQUNFO0VBQ0E7RUFDQTtBaEIwa0JSOztBYzlpQkU7RUFDRTtFQUNBO0FkaWpCSjs7QWNuakJFO0VBQ0U7RUFDQTtBZHNqQko7O0FjeGpCRTtFQUNFO0VBQ0E7QWQyakJKOztBYzdqQkU7RUFDRTtFQUNBO0FkZ2tCSjs7QWNsa0JFO0VBQ0U7RUFDQTtBZHFrQko7O0FjdmtCRTtFQUNFO0VBQ0E7QWQwa0JKOztBZ0I3bEJNO0VGQ0o7RUFDQTtFQUNBO0FkZ21CRjs7QWdCN2xCVTtFRmJSO0VBSUE7QWQybUJGOztBZ0JsbUJVO0VGYlI7RUFJQTtBZGduQkY7O0FnQnZtQlU7RUZiUjtFQUlBO0FkcW5CRjs7QWdCNW1CVTtFRmJSO0VBSUE7QWQwbkJGOztBZ0JqbkJVO0VGYlI7RUFJQTtBZCtuQkY7O0FnQnRuQlU7RUZiUjtFQUlBO0Fkb29CRjs7QWdCM25CVTtFRmJSO0VBSUE7QWR5b0JGOztBZ0Job0JVO0VGYlI7RUFJQTtBZDhvQkY7O0FnQnJvQlU7RUZiUjtFQUlBO0FkbXBCRjs7QWdCMW9CVTtFRmJSO0VBSUE7QWR3cEJGOztBZ0Ivb0JVO0VGYlI7RUFJQTtBZDZwQkY7O0FnQnBwQlU7RUZiUjtFQUlBO0Fka3FCRjs7QWdCbnBCTTtFQUF3QjtBaEJ1cEI5Qjs7QWdCcnBCTTtFQUF1QjtBaEJ5cEI3Qjs7QWdCdHBCUTtFQUF3QixRQURiO0FoQjJwQm5COztBZ0IxcEJRO0VBQXdCLFFBRGI7QWhCK3BCbkI7O0FnQjlwQlE7RUFBd0IsUUFEYjtBaEJtcUJuQjs7QWdCbHFCUTtFQUF3QixRQURiO0FoQnVxQm5COztBZ0J0cUJRO0VBQXdCLFFBRGI7QWhCMnFCbkI7O0FnQjFxQlE7RUFBd0IsUUFEYjtBaEIrcUJuQjs7QWdCOXFCUTtFQUF3QixRQURiO0FoQm1yQm5COztBZ0JsckJRO0VBQXdCLFFBRGI7QWhCdXJCbkI7O0FnQnRyQlE7RUFBd0IsUUFEYjtBaEIyckJuQjs7QWdCMXJCUTtFQUF3QixRQURiO0FoQityQm5COztBZ0I5ckJRO0VBQXdCLFNBRGI7QWhCbXNCbkI7O0FnQmxzQlE7RUFBd0IsU0FEYjtBaEJ1c0JuQjs7QWdCdHNCUTtFQUF3QixTQURiO0FoQjJzQm5COztBZ0Juc0JZO0VGaEJWO0FkdXRCRjs7QWdCdnNCWTtFRmhCVjtBZDJ0QkY7O0FnQjNzQlk7RUZoQlY7QWQrdEJGOztBZ0Ivc0JZO0VGaEJWO0FkbXVCRjs7QWdCbnRCWTtFRmhCVjtBZHV1QkY7O0FnQnZ0Qlk7RUZoQlY7QWQydUJGOztBZ0IzdEJZO0VGaEJWO0FkK3VCRjs7QWdCL3RCWTtFRmhCVjtBZG12QkY7O0FnQm51Qlk7RUZoQlY7QWR1dkJGOztBZ0J2dUJZO0VGaEJWO0FkMnZCRjs7QWdCM3VCWTtFRmhCVjtBZCt2QkY7O0FlMXZCSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFaEJ5eEJOO0VjN3ZCQTtJQUNFO0lBQ0E7RWQrdkJGO0VjandCQTtJQUNFO0lBQ0E7RWRtd0JGO0VjcndCQTtJQUNFO0lBQ0E7RWR1d0JGO0VjendCQTtJQUNFO0lBQ0E7RWQyd0JGO0VjN3dCQTtJQUNFO0lBQ0E7RWQrd0JGO0VjanhCQTtJQUNFO0lBQ0E7RWRteEJGO0VnQnR5Qkk7SUZDSjtJQUNBO0lBQ0E7RWR3eUJBO0VnQnJ5QlE7SUZiUjtJQUlBO0Vka3pCQTtFZ0J6eUJRO0lGYlI7SUFJQTtFZHN6QkE7RWdCN3lCUTtJRmJSO0lBSUE7RWQwekJBO0VnQmp6QlE7SUZiUjtJQUlBO0VkOHpCQTtFZ0JyekJRO0lGYlI7SUFJQTtFZGswQkE7RWdCenpCUTtJRmJSO0lBSUE7RWRzMEJBO0VnQjd6QlE7SUZiUjtJQUlBO0VkMDBCQTtFZ0JqMEJRO0lGYlI7SUFJQTtFZDgwQkE7RWdCcjBCUTtJRmJSO0lBSUE7RWRrMUJBO0VnQnowQlE7SUZiUjtJQUlBO0VkczFCQTtFZ0I3MEJRO0lGYlI7SUFJQTtFZDAxQkE7RWdCajFCUTtJRmJSO0lBSUE7RWQ4MUJBO0VnQi8wQkk7SUFBd0I7RWhCazFCNUI7RWdCaDFCSTtJQUF1QjtFaEJtMUIzQjtFZ0JoMUJNO0lBQXdCLFFBRGI7RWhCbzFCakI7RWdCbjFCTTtJQUF3QixRQURiO0VoQnUxQmpCO0VnQnQxQk07SUFBd0IsUUFEYjtFaEIwMUJqQjtFZ0J6MUJNO0lBQXdCLFFBRGI7RWhCNjFCakI7RWdCNTFCTTtJQUF3QixRQURiO0VoQmcyQmpCO0VnQi8xQk07SUFBd0IsUUFEYjtFaEJtMkJqQjtFZ0JsMkJNO0lBQXdCLFFBRGI7RWhCczJCakI7RWdCcjJCTTtJQUF3QixRQURiO0VoQnkyQmpCO0VnQngyQk07SUFBd0IsUUFEYjtFaEI0MkJqQjtFZ0IzMkJNO0lBQXdCLFFBRGI7RWhCKzJCakI7RWdCOTJCTTtJQUF3QixTQURiO0VoQmszQmpCO0VnQmozQk07SUFBd0IsU0FEYjtFaEJxM0JqQjtFZ0JwM0JNO0lBQXdCLFNBRGI7RWhCdzNCakI7RWdCaDNCVTtJRmhCVjtFZG00QkE7RWdCbjNCVTtJRmhCVjtFZHM0QkE7RWdCdDNCVTtJRmhCVjtFZHk0QkE7RWdCejNCVTtJRmhCVjtFZDQ0QkE7RWdCNTNCVTtJRmhCVjtFZCs0QkE7RWdCLzNCVTtJRmhCVjtFZGs1QkE7RWdCbDRCVTtJRmhCVjtFZHE1QkE7RWdCcjRCVTtJRmhCVjtFZHc1QkE7RWdCeDRCVTtJRmhCVjtFZDI1QkE7RWdCMzRCVTtJRmhCVjtFZDg1QkE7RWdCOTRCVTtJRmhCVjtFZGk2QkE7RWdCajVCVTtJRmhCVjtFZG82QkE7QUFDRjtBZWg2Qkk7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWhCODdCTjtFY2w2QkE7SUFDRTtJQUNBO0VkbzZCRjtFY3Q2QkE7SUFDRTtJQUNBO0VkdzZCRjtFYzE2QkE7SUFDRTtJQUNBO0VkNDZCRjtFYzk2QkE7SUFDRTtJQUNBO0VkZzdCRjtFY2w3QkE7SUFDRTtJQUNBO0VkbzdCRjtFY3Q3QkE7SUFDRTtJQUNBO0VkdzdCRjtFZ0IzOEJJO0lGQ0o7SUFDQTtJQUNBO0VkNjhCQTtFZ0IxOEJRO0lGYlI7SUFJQTtFZHU5QkE7RWdCOThCUTtJRmJSO0lBSUE7RWQyOUJBO0VnQmw5QlE7SUZiUjtJQUlBO0VkKzlCQTtFZ0J0OUJRO0lGYlI7SUFJQTtFZG0rQkE7RWdCMTlCUTtJRmJSO0lBSUE7RWR1K0JBO0VnQjk5QlE7SUZiUjtJQUlBO0VkMitCQTtFZ0JsK0JRO0lGYlI7SUFJQTtFZCsrQkE7RWdCdCtCUTtJRmJSO0lBSUE7RWRtL0JBO0VnQjErQlE7SUZiUjtJQUlBO0VkdS9CQTtFZ0I5K0JRO0lGYlI7SUFJQTtFZDIvQkE7RWdCbC9CUTtJRmJSO0lBSUE7RWQrL0JBO0VnQnQvQlE7SUZiUjtJQUlBO0VkbWdDQTtFZ0JwL0JJO0lBQXdCO0VoQnUvQjVCO0VnQnIvQkk7SUFBdUI7RWhCdy9CM0I7RWdCci9CTTtJQUF3QixRQURiO0VoQnkvQmpCO0VnQngvQk07SUFBd0IsUUFEYjtFaEI0L0JqQjtFZ0IzL0JNO0lBQXdCLFFBRGI7RWhCKy9CakI7RWdCOS9CTTtJQUF3QixRQURiO0VoQmtnQ2pCO0VnQmpnQ007SUFBd0IsUUFEYjtFaEJxZ0NqQjtFZ0JwZ0NNO0lBQXdCLFFBRGI7RWhCd2dDakI7RWdCdmdDTTtJQUF3QixRQURiO0VoQjJnQ2pCO0VnQjFnQ007SUFBd0IsUUFEYjtFaEI4Z0NqQjtFZ0I3Z0NNO0lBQXdCLFFBRGI7RWhCaWhDakI7RWdCaGhDTTtJQUF3QixRQURiO0VoQm9oQ2pCO0VnQm5oQ007SUFBd0IsU0FEYjtFaEJ1aENqQjtFZ0J0aENNO0lBQXdCLFNBRGI7RWhCMGhDakI7RWdCemhDTTtJQUF3QixTQURiO0VoQjZoQ2pCO0VnQnJoQ1U7SUZoQlY7RWR3aUNBO0VnQnhoQ1U7SUZoQlY7RWQyaUNBO0VnQjNoQ1U7SUZoQlY7RWQ4aUNBO0VnQjloQ1U7SUZoQlY7RWRpakNBO0VnQmppQ1U7SUZoQlY7RWRvakNBO0VnQnBpQ1U7SUZoQlY7RWR1akNBO0VnQnZpQ1U7SUZoQlY7RWQwakNBO0VnQjFpQ1U7SUZoQlY7RWQ2akNBO0VnQjdpQ1U7SUZoQlY7RWRna0NBO0VnQmhqQ1U7SUZoQlY7RWRta0NBO0VnQm5qQ1U7SUZoQlY7RWRza0NBO0VnQnRqQ1U7SUZoQlY7RWR5a0NBO0FBQ0Y7QWVya0NJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VoQm1tQ047RWN2a0NBO0lBQ0U7SUFDQTtFZHlrQ0Y7RWMza0NBO0lBQ0U7SUFDQTtFZDZrQ0Y7RWMva0NBO0lBQ0U7SUFDQTtFZGlsQ0Y7RWNubENBO0lBQ0U7SUFDQTtFZHFsQ0Y7RWN2bENBO0lBQ0U7SUFDQTtFZHlsQ0Y7RWMzbENBO0lBQ0U7SUFDQTtFZDZsQ0Y7RWdCaG5DSTtJRkNKO0lBQ0E7SUFDQTtFZGtuQ0E7RWdCL21DUTtJRmJSO0lBSUE7RWQ0bkNBO0VnQm5uQ1E7SUZiUjtJQUlBO0VkZ29DQTtFZ0J2bkNRO0lGYlI7SUFJQTtFZG9vQ0E7RWdCM25DUTtJRmJSO0lBSUE7RWR3b0NBO0VnQi9uQ1E7SUZiUjtJQUlBO0VkNG9DQTtFZ0Jub0NRO0lGYlI7SUFJQTtFZGdwQ0E7RWdCdm9DUTtJRmJSO0lBSUE7RWRvcENBO0VnQjNvQ1E7SUZiUjtJQUlBO0Vkd3BDQTtFZ0Ivb0NRO0lGYlI7SUFJQTtFZDRwQ0E7RWdCbnBDUTtJRmJSO0lBSUE7RWRncUNBO0VnQnZwQ1E7SUZiUjtJQUlBO0Vkb3FDQTtFZ0IzcENRO0lGYlI7SUFJQTtFZHdxQ0E7RWdCenBDSTtJQUF3QjtFaEI0cEM1QjtFZ0IxcENJO0lBQXVCO0VoQjZwQzNCO0VnQjFwQ007SUFBd0IsUUFEYjtFaEI4cENqQjtFZ0I3cENNO0lBQXdCLFFBRGI7RWhCaXFDakI7RWdCaHFDTTtJQUF3QixRQURiO0VoQm9xQ2pCO0VnQm5xQ007SUFBd0IsUUFEYjtFaEJ1cUNqQjtFZ0J0cUNNO0lBQXdCLFFBRGI7RWhCMHFDakI7RWdCenFDTTtJQUF3QixRQURiO0VoQjZxQ2pCO0VnQjVxQ007SUFBd0IsUUFEYjtFaEJnckNqQjtFZ0IvcUNNO0lBQXdCLFFBRGI7RWhCbXJDakI7RWdCbHJDTTtJQUF3QixRQURiO0VoQnNyQ2pCO0VnQnJyQ007SUFBd0IsUUFEYjtFaEJ5ckNqQjtFZ0J4ckNNO0lBQXdCLFNBRGI7RWhCNHJDakI7RWdCM3JDTTtJQUF3QixTQURiO0VoQityQ2pCO0VnQjlyQ007SUFBd0IsU0FEYjtFaEJrc0NqQjtFZ0IxckNVO0lGaEJWO0VkNnNDQTtFZ0I3ckNVO0lGaEJWO0VkZ3RDQTtFZ0Joc0NVO0lGaEJWO0VkbXRDQTtFZ0Juc0NVO0lGaEJWO0Vkc3RDQTtFZ0J0c0NVO0lGaEJWO0VkeXRDQTtFZ0J6c0NVO0lGaEJWO0VkNHRDQTtFZ0I1c0NVO0lGaEJWO0VkK3RDQTtFZ0Ivc0NVO0lGaEJWO0Vka3VDQTtFZ0JsdENVO0lGaEJWO0VkcXVDQTtFZ0JydENVO0lGaEJWO0Vkd3VDQTtFZ0J4dENVO0lGaEJWO0VkMnVDQTtFZ0IzdENVO0lGaEJWO0VkOHVDQTtBQUNGO0FlMXVDSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFaEJ3d0NOO0VjNXVDQTtJQUNFO0lBQ0E7RWQ4dUNGO0VjaHZDQTtJQUNFO0lBQ0E7RWRrdkNGO0VjcHZDQTtJQUNFO0lBQ0E7RWRzdkNGO0VjeHZDQTtJQUNFO0lBQ0E7RWQwdkNGO0VjNXZDQTtJQUNFO0lBQ0E7RWQ4dkNGO0VjaHdDQTtJQUNFO0lBQ0E7RWRrd0NGO0VnQnJ4Q0k7SUZDSjtJQUNBO0lBQ0E7RWR1eENBO0VnQnB4Q1E7SUZiUjtJQUlBO0VkaXlDQTtFZ0J4eENRO0lGYlI7SUFJQTtFZHF5Q0E7RWdCNXhDUTtJRmJSO0lBSUE7RWR5eUNBO0VnQmh5Q1E7SUZiUjtJQUlBO0VkNnlDQTtFZ0JweUNRO0lGYlI7SUFJQTtFZGl6Q0E7RWdCeHlDUTtJRmJSO0lBSUE7RWRxekNBO0VnQjV5Q1E7SUZiUjtJQUlBO0VkeXpDQTtFZ0JoekNRO0lGYlI7SUFJQTtFZDZ6Q0E7RWdCcHpDUTtJRmJSO0lBSUE7RWRpMENBO0VnQnh6Q1E7SUZiUjtJQUlBO0VkcTBDQTtFZ0I1ekNRO0lGYlI7SUFJQTtFZHkwQ0E7RWdCaDBDUTtJRmJSO0lBSUE7RWQ2MENBO0VnQjl6Q0k7SUFBd0I7RWhCaTBDNUI7RWdCL3pDSTtJQUF1QjtFaEJrMEMzQjtFZ0IvekNNO0lBQXdCLFFBRGI7RWhCbTBDakI7RWdCbDBDTTtJQUF3QixRQURiO0VoQnMwQ2pCO0VnQnIwQ007SUFBd0IsUUFEYjtFaEJ5MENqQjtFZ0J4MENNO0lBQXdCLFFBRGI7RWhCNDBDakI7RWdCMzBDTTtJQUF3QixRQURiO0VoQiswQ2pCO0VnQjkwQ007SUFBd0IsUUFEYjtFaEJrMUNqQjtFZ0JqMUNNO0lBQXdCLFFBRGI7RWhCcTFDakI7RWdCcDFDTTtJQUF3QixRQURiO0VoQncxQ2pCO0VnQnYxQ007SUFBd0IsUUFEYjtFaEIyMUNqQjtFZ0IxMUNNO0lBQXdCLFFBRGI7RWhCODFDakI7RWdCNzFDTTtJQUF3QixTQURiO0VoQmkyQ2pCO0VnQmgyQ007SUFBd0IsU0FEYjtFaEJvMkNqQjtFZ0JuMkNNO0lBQXdCLFNBRGI7RWhCdTJDakI7RWdCLzFDVTtJRmhCVjtFZGszQ0E7RWdCbDJDVTtJRmhCVjtFZHEzQ0E7RWdCcjJDVTtJRmhCVjtFZHczQ0E7RWdCeDJDVTtJRmhCVjtFZDIzQ0E7RWdCMzJDVTtJRmhCVjtFZDgzQ0E7RWdCOTJDVTtJRmhCVjtFZGk0Q0E7RWdCajNDVTtJRmhCVjtFZG80Q0E7RWdCcDNDVTtJRmhCVjtFZHU0Q0E7RWdCdjNDVTtJRmhCVjtFZDA0Q0E7RWdCMTNDVTtJRmhCVjtFZDY0Q0E7RWdCNzNDVTtJRmhCVjtFZGc1Q0E7RWdCaDRDVTtJRmhCVjtFZG01Q0E7QUFDRjtBaUJ2OENBO0VBQ0U7RUFDQSxtQmJpSU87RWFoSVAsY2JTUztBSmc4Q1g7QWlCdDhDRTs7O0VBRUUsZ0JibVYwQjtFYWxWMUI7RUFDQTtBakJ5OENKO0FpQnQ4Q0U7RUFDRTtFQUNBO0FqQnc4Q0o7QWlCcjhDRTtFQUNFO0FqQnU4Q0o7O0FpQjc3Q0U7O0VBRUUsZWI2VDBCO0FKbW9DOUI7O0FpQnY3Q0E7RUFDRTtBakIwN0NGO0FpQng3Q0U7O0VBRUU7QWpCMDdDSjtBaUJ0N0NJOztFQUVFO0FqQnc3Q047O0FpQmw3Q0U7Ozs7RUFJRTtBakJxN0NKOztBaUI1NkNFO0VBQ0UseUJDdkNTO0FsQnM5Q2I7O0FNOStDRTtFVzJFSSxjYnZFSztFYXdFTCx5QkNwRE87QWxCMjlDYjs7QW1Cei9DSTs7O0VBR0UseUJGMkYrQjtBakJpNkNyQztBbUJ4L0NNOzs7O0VBSUUscUJGbUZ5RTtBakJ1NkNqRjs7QU0vL0NFO0VhaUJNLHlCQUplO0FuQnMvQ3ZCO0FtQmgvQ1E7O0VBRUUseUJBUmE7QW5CMC9DdkI7O0FtQjdnREk7OztFQUdFLHlCRjJGK0I7QWpCcTdDckM7QW1CNWdETTs7OztFQUlFLHFCRm1GeUU7QWpCMjdDakY7O0FNbmhERTtFYWlCTSx5QkFKZTtBbkIwZ0R2QjtBbUJwZ0RROztFQUVFLHlCQVJhO0FuQjhnRHZCOztBbUJqaURJOzs7RUFHRSx5QkYyRitCO0FqQnk4Q3JDO0FtQmhpRE07Ozs7RUFJRSxxQkZtRnlFO0FqQis4Q2pGOztBTXZpREU7RWFpQk0seUJBSmU7QW5COGhEdkI7QW1CeGhEUTs7RUFFRSx5QkFSYTtBbkJraUR2Qjs7QW1CcmpESTs7O0VBR0UseUJGMkYrQjtBakI2OUNyQztBbUJwakRNOzs7O0VBSUUscUJGbUZ5RTtBakJtK0NqRjs7QU0zakRFO0VhaUJNLHlCQUplO0FuQmtqRHZCO0FtQjVpRFE7O0VBRUUseUJBUmE7QW5Cc2pEdkI7O0FtQnprREk7OztFQUdFLHlCRjJGK0I7QWpCaS9DckM7QW1CeGtETTs7OztFQUlFLHFCRm1GeUU7QWpCdS9DakY7O0FNL2tERTtFYWlCTSx5QkFKZTtBbkJza0R2QjtBbUJoa0RROztFQUVFLHlCQVJhO0FuQjBrRHZCOztBbUI3bERJOzs7RUFHRSx5QkYyRitCO0FqQnFnRHJDO0FtQjVsRE07Ozs7RUFJRSxxQkZtRnlFO0FqQjJnRGpGOztBTW5tREU7RWFpQk0seUJBSmU7QW5CMGxEdkI7QW1CcGxEUTs7RUFFRSx5QkFSYTtBbkI4bER2Qjs7QW1Cam5ESTs7O0VBR0UseUJGMkYrQjtBakJ5aERyQztBbUJobkRNOzs7O0VBSUUscUJGbUZ5RTtBakIraERqRjs7QU12bkRFO0VhaUJNLHlCQUplO0FuQjhtRHZCO0FtQnhtRFE7O0VBRUUseUJBUmE7QW5Ca25EdkI7O0FtQnJvREk7OztFQUdFLHlCRjJGK0I7QWpCNmlEckM7QW1CcG9ETTs7OztFQUlFLHFCRm1GeUU7QWpCbWpEakY7O0FNM29ERTtFYWlCTSx5QkFKZTtBbkJrb0R2QjtBbUI1bkRROztFQUVFLHlCQVJhO0FuQnNvRHZCOztBbUJ6cERJOzs7RUFHRSxzQ2Y2VndCO0FKK3pDOUI7O0FNenBERTtFYWlCTSxzQ0FKZTtBbkJncER2QjtBbUIxb0RROztFQUVFLHNDQVJhO0FuQm9wRHZCOztBaUI1akRJO0VBQ0UsV2IzR0s7RWE0R0wseUJicEdLO0VhcUdMLHFCYmlRd0I7QUo4ekM5QjtBaUIxakRJO0VBQ0UsY2I1R0s7RWE2R0wseUJibEhLO0VhbUhMLHFCQ3JGUztBbEJpcERmOztBaUJ2akRBO0VBQ0UsV2IzSFM7RWE0SFQseUJicEhTO0FKOHFEWDtBaUJ4akRFOzs7RUFHRSxxQmI2TzBCO0FKNjBDOUI7QWlCdmpERTtFQUNFO0FqQnlqREo7QWlCcmpESTtFQUNFLDJDYmlPd0I7QUpzMUM5QjtBTTVyREU7RVc0SU0sV2JqSkc7RWFrSkgsNENiMk5zQjtBSncxQzlCOztBZW5vREk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFakJxaUROO0VpQmxpRE07SUFDRTtFakJvaURSO0FBQ0Y7QWUvb0RJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RWpCZ2pETjtFaUI3aURNO0lBQ0U7RWpCK2lEUjtBQUNGO0FlMXBESTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VqQjJqRE47RWlCeGpETTtJQUNFO0VqQjBqRFI7QUFDRjtBZXJxREk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFakJza0ROO0VpQm5rRE07SUFDRTtFakJxa0RSO0FBQ0Y7QWlCL2tESTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqQmdsRFI7QWlCN2tEUTtFQUNFO0FqQitrRFY7O0FvQjV2REE7Ozs7RUFDRTtFQUNBO0VBQ0EsbUNoQjJlc0M7RWdCMWV0QztFZjBLSTtFZXZLSixnQmhCbVI0QjtFZ0JsUjVCLGNGc0l3QjtFRXJJeEIsY2hCRFM7RWdCRVQsc0JGOEh3QjtFRTdIeEI7RUFDQTtFVEFFO0VVRkUsd0VEUUo7QXBCNnZERjtBcUJqd0RNO0VEZE47Ozs7SUNlUTtFckJ1d0ROO0FBQ0Y7QW9CbHdERTs7OztFQUNFO0VBQ0E7QXBCdXdESjtBc0J2eERFOzs7O0VBQ0U7RUFDQSxzQmxCUk87RWtCU1AscUJsQnNkb0M7RWtCcmRwQztFQUtFLGdEbEJxWHdCO0FKbTZDOUI7QW9CMXdERTtFQUNFLGNGMkdzQjtFRXpHdEI7QXBCOHdESjtBb0JqeERFOzs7O0VBQ0UsY0YyR3NCO0VFekd0QjtBcEI4d0RKO0FvQnR3REU7Ozs7Ozs7RUFFRSx5QmhCeENPO0VnQjBDUDtBcEI0d0RKOztBb0Jwd0RFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDRTtLQUFBO1VBQUE7QXBCb3lESjs7QW9COXhERTs7OztFQUNFO0VBQ0E7QXBCb3lESjtBb0JqeURFOzs7O0VBTUUsY2hCL0RPO0VnQmdFUCxzQkZnRXNCO0FsQml1RDFCOztBb0I1eERBOztFQUVFO0VBQ0E7QXBCK3hERjs7QW9CcnhEQTtFQUNFO0VBQ0E7RUFDQTtFZmlFRTtFZS9ERixjRitDd0I7QWxCeXVEMUI7O0FvQnJ4REE7RUFDRTtFQUNBO0VmMEVJO0VleEVKLGNGZ0R3QjtBbEJ3dUQxQjs7QW9CcnhEQTtFQUNFO0VBQ0E7RWZtRUk7RWVqRUosY0ZxQ3dCO0FsQm12RDFCOztBb0Ivd0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWZvREk7RWVsREosY0ZrQndCO0VFakJ4QixjaEJuSFM7RWdCb0hUO0VBQ0E7RUFDQTtBcEJreERGO0FvQmh4REU7RUFFRTtFQUNBO0FwQml4REo7O0FvQnJ3REE7RUFDRSxrQ2hCNlZzQztFZ0I1VnRDO0VmMkJJO0VlekJKLGNGSHdCO0VQdEl0QjtBWGs1REo7O0FvQnJ3REE7RUFDRSxnQ2hCc1ZzQztFZ0JyVnRDO0VmbUJJO0VlakJKLGNGUHdCO0VQMUl0QjtBWDA1REo7O0FvQm53REU7Ozs7Ozs7RUFFRTtBcEIyd0RKOztBb0J2d0RBOzs7RUFDRTtBcEI0d0RGOztBb0Jwd0RBO0VBQ0UsbUJoQjJVc0M7QUo0N0N4Qzs7QW9CcHdEQTtFQUNFO0VBQ0EsbUJoQjRUc0M7QUoyOEN4Qzs7QW9CL3ZEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQmt3REY7QW9CaHdERTs7RUFFRTtFQUNBO0FwQmt3REo7O0FvQnp2REE7RUFDRTtFQUNBO0VBQ0EscUJoQmlTc0M7QUoyOUN4Qzs7QW9CenZEQTtFQUNFO0VBQ0Esa0JoQjZSc0M7RWdCNVJ0QztBcEI0dkRGO0FvQnp2REU7RUFFRSxjRm5LUztBbEI2NURiOztBb0J0dkRBO0VBQ0U7QXBCeXZERjs7QW9CdHZEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHFCaEI4UXNDO0FKMitDeEM7QW9CdHZERTtFQUNFO0VBQ0E7RUFDQSx1QmhCeVFvQztFZ0J4UXBDO0FwQnd2REo7O0FzQnI4REU7RUFDRTtFQUNBO0VBQ0EsbUJsQjJjb0M7RUN0VnBDO0VpQm5IQSxjRnFOcUM7QXBCbXZEekM7O0FzQnI4REU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqQndIRTtFaUJ0SEYsZ0JsQnVPMEI7RWtCdE8xQjtFQUNBO0VYOUNBO0FYdS9ESjtBc0JwOERJO0VBRUU7QXRCcThETjs7QXNCaDhESTs7OztFQUVFO0F0QnE4RE47O0FzQm4vREk7Ozs7Ozs7O0VBb0RFLHFCRmtMbUM7RUUvS2pDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCdzhEUjtBc0JyOERNOzs7Ozs7OztFQUNFLHFCRnVLaUM7RUV0S2pDO0F0Qjg4RFI7O0FzQjlnRUk7Ozs7Ozs7O0VBeUVJO0VBQ0E7QXRCZzlEUjs7QXNCMWhFSTs7Ozs7RUFtRkksb0NsQjZYZ0M7RWtCNVhoQztBdEIrOERSOztBc0JuaUVJO0VBMkZFLHFCRjJJbUM7RUV4SWpDO0VBQ0E7QXRCMDhEUjtBc0J2OERNO0VBQ0UscUJGbUlpQztFRWxJakM7QXRCeThEUjs7QXNCbDhETTtFQUNFLGNGMEhpQztBcEIyMER6QztBc0JsOERNOzs7RUFFRTtBdEJxOERSOztBc0I5N0RNO0VBQ0UsY0Y2R2lDO0FwQm8xRHpDO0FzQi83RFE7RUFDRSxxQkYwRytCO0FwQnUxRHpDO0FzQjU3RFE7RUFDRTtFQzVKTix5QkQ2SjJCO0F0Qjg3RC9CO0FzQno3RFE7RUFDRTtBdEIyN0RWO0FzQng3RFE7RUFDRSxxQkZ5RitCO0FwQmkyRHpDOztBc0JqN0RNO0VBQ0UscUJGK0VpQztBcEJxMkR6QztBc0JoN0RRO0VBQ0UscUJGMEUrQjtFRXpFL0I7QXRCazdEVjs7QXNCbmtFRTtFQUNFO0VBQ0E7RUFDQSxtQmxCMmNvQztFQ3RWcEM7RWlCbkhBLGNGcU5xQztBcEJpM0R6Qzs7QXNCbmtFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpCd0hFO0VpQnRIRixnQmxCdU8wQjtFa0J0TzFCO0VBQ0E7RVg5Q0E7QVhxbkVKO0FzQmxrRUk7RUFFRTtBdEJta0VOOztBc0I5akVJOzs7O0VBRUU7QXRCbWtFTjs7QXNCam5FSTs7Ozs7Ozs7RUFvREUscUJGa0xtQztFRS9LakM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJza0VSO0FzQm5rRU07Ozs7Ozs7O0VBQ0UscUJGdUtpQztFRXRLakM7QXRCNGtFUjs7QXNCNW9FSTs7Ozs7Ozs7RUF5RUk7RUFDQTtBdEI4a0VSOztBc0J4cEVJOzs7OztFQW1GSSxvQ2xCNlhnQztFa0I1WGhDO0F0QjZrRVI7O0FzQmpxRUk7RUEyRkUscUJGMkltQztFRXhJakM7RUFDQTtBdEJ3a0VSO0FzQnJrRU07RUFDRSxxQkZtSWlDO0VFbElqQztBdEJ1a0VSOztBc0Joa0VNO0VBQ0UsY0YwSGlDO0FwQnk4RHpDO0FzQmhrRU07OztFQUVFO0F0Qm1rRVI7O0FzQjVqRU07RUFDRSxjRjZHaUM7QXBCazlEekM7QXNCN2pFUTtFQUNFLHFCRjBHK0I7QXBCcTlEekM7QXNCMWpFUTtFQUNFO0VDNUpOLHlCRDZKMkI7QXRCNGpFL0I7QXNCdmpFUTtFQUNFO0F0QnlqRVY7QXNCdGpFUTtFQUNFLHFCRnlGK0I7QXBCKzlEekM7O0FzQi9pRU07RUFDRSxxQkYrRWlDO0FwQm0rRHpDO0FzQjlpRVE7RUFDRSxxQkYwRStCO0VFekUvQjtBdEJnakVWOztBb0IzOURBO0VBQ0U7RUFDQTtFQUNBO0FwQjg5REY7QW9CejlERTtFQUNFO0FwQjI5REo7QWUxckVJO0VLb09BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXBCeTlESjtFb0JyOURFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFcEJ1OURKO0VvQm45REU7Ozs7O0lBQ0U7SUFDQTtJQUNBO0VwQnk5REo7RW9CcjlERTtJQUNFO0VwQnU5REo7RW9CcDlERTs7SUFFRTtFcEJzOURKO0VvQmo5REU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwQm05REo7RW9CajlERTtJQUNFO0lBQ0E7SUFDQTtJQUNBLHFCaEJnTGtDO0lnQi9LbEM7RXBCbTlESjtFb0JoOURFO0lBQ0U7SUFDQTtFcEJrOURKO0VvQmg5REU7SUFDRTtFcEJrOURKO0FBQ0Y7O0F3QnB5RUE7RUFDRTtFQUVBLGdCcEJ1UjRCO0VvQnRSNUIsV3BCT1M7RW9CTlQ7RUFHQTtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0E7RUN1RkE7RXBCNEVJO0VvQjFFSixjUE1vQjtFUDlGbEI7RVVGRSxxSUdHSjtBeEJ1eUVGO0FxQnR5RU07RUdkTjtJSGVRO0VyQnl5RU47QUFDRjtBTW56RUU7RWtCVUUsV3BCTE87RW9CTVA7QXhCNHlFSjtBd0J6eUVFO0VBRUU7RUFDQSxnRHBCOFcwQjtBSjQ3RDlCO0F3QnR5RUU7RUFFRSxhcEJrWjBCO0FKcTVEOUI7QXdCbnlFRTtFQUNFO0F4QnF5RUo7QXdCdnhFQTs7Ozs7Ozs7RUFFRTtBeEIreEVGOztBd0J0eEVFO0VDM0RBO0VGQUUseUJuQnNFVztFcUJwRWIscUJyQm9FYTtBSml4RWY7QU1qMUVFO0VtQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBekI2MUV6RztBeUJqMUVFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F6QjgwRU47QXlCejBFRTtFQUVFO0VBQ0EseUJyQjBDVztFcUJ6Q1gscUJyQnlDVztBSml5RWY7QXlCbjBFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBekI2MkU3TDtBeUI5ekVJO0VBS0k7QXpCNHpFUjs7QXdCcHpFRTtFQzNEQTtFRkFFLHlCbkJzRVc7RXFCcEViLHFCckJvRWE7QUoreUVmO0FNLzJFRTtFbUJBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXpCMjNFekc7QXlCLzJFRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBekI0MkVOO0F5QnYyRUU7RUFFRTtFQUNBLHlCckIwQ1c7RXFCekNYLHFCckJ5Q1c7QUorekVmO0F5QmoyRUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXpCMjRFN0w7QXlCNTFFSTtFQUtJO0F6QjAxRVI7O0F3QmwxRUU7RUMzREE7RUZBRSx5Qm5Cc0VXO0VxQnBFYixxQnJCb0VhO0FKNjBFZjtBTTc0RUU7RW1CQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F6Qnk1RXpHO0F5Qjc0RUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXpCMDRFTjtBeUJyNEVFO0VBRUU7RUFDQSx5QnJCMENXO0VxQnpDWCxxQnJCeUNXO0FKNjFFZjtBeUIvM0VFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F6Qnk2RTdMO0F5QjEzRUk7RUFLSTtBekJ3M0VSOztBd0JoM0VFO0VDM0RBO0VGQUUseUJuQnNFVztFcUJwRWIscUJyQm9FYTtBSjIyRWY7QU0zNkVFO0VtQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBekJ1N0V6RztBeUIzNkVFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F6Qnc2RU47QXlCbjZFRTtFQUVFO0VBQ0EseUJyQjBDVztFcUJ6Q1gscUJyQnlDVztBSjIzRWY7QXlCNzVFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBekJ1OEU3TDtBeUJ4NUVJO0VBS0k7QXpCczVFUjs7QXdCOTRFRTtFQzNEQTtFRkFFLHlCbkJzRVc7RXFCcEViLHFCckJvRWE7QUp5NEVmO0FNejhFRTtFbUJBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXpCcTlFekc7QXlCejhFRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBekJzOEVOO0F5Qmo4RUU7RUFFRTtFQUNBLHlCckIwQ1c7RXFCekNYLHFCckJ5Q1c7QUp5NUVmO0F5QjM3RUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXpCcStFN0w7QXlCdDdFSTtFQUtJO0F6Qm83RVI7O0F3QjU2RUU7RUMzREE7RUZBRSx5Qm5Cc0VXO0VxQnBFYixxQnJCb0VhO0FKdTZFZjtBTXYrRUU7RW1CQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F6Qm0vRXpHO0F5QnYrRUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXpCbytFTjtBeUIvOUVFO0VBRUU7RUFDQSx5QnJCMENXO0VxQnpDWCxxQnJCeUNXO0FKdTdFZjtBeUJ6OUVFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F6Qm1nRjdMO0F5QnA5RUk7RUFLSTtBekJrOUVSOztBd0IxOEVFO0VDM0RBO0VGQUUseUJuQnNFVztFcUJwRWIscUJyQm9FYTtBSnE4RWY7QU1yZ0ZFO0VtQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBekJpaEZ6RztBeUJyZ0ZFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F6QmtnRk47QXlCNy9FRTtFQUVFO0VBQ0EseUJyQjBDVztFcUJ6Q1gscUJyQnlDVztBSnE5RWY7QXlCdi9FRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBekJpaUY3TDtBeUJsL0VJO0VBS0k7QXpCZy9FUjs7QXdCeCtFRTtFQzNEQTtFRkFFLHlCbkJzRVc7RXFCcEViLHFCckJvRWE7QUptK0VmO0FNbmlGRTtFbUJBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXpCK2lGekc7QXlCbmlGRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBekJnaUZOO0F5QjNoRkU7RUFFRTtFQUNBLHlCckIwQ1c7RXFCekNYLHFCckJ5Q1c7QUptL0VmO0F5QnJoRkU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXpCK2pGN0w7QXlCaGhGSTtFQUtJO0F6QjhnRlI7O0F3QmhnRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUpnZ0ZmO0FNaGtGRTtFbUJ3REUsV0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSnFnRmY7QXlCeGdGRTtFQUVFO0F6QnlnRko7QXlCdGdGRTtFQUVFLGNyQkpXO0VxQktYO0F6QnVnRko7QXlCcGdGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSmloRmY7QXlCbGdGSTtFQUtJO0F6QmdnRlI7O0F3QnpoRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUp5aEZmO0FNemxGRTtFbUJ3REUsY0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSjhoRmY7QXlCamlGRTtFQUVFO0F6QmtpRko7QXlCL2hGRTtFQUVFLGNyQkpXO0VxQktYO0F6QmdpRko7QXlCN2hGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSjBpRmY7QXlCM2hGSTtFQUtJO0F6QnloRlI7O0F3QmxqRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUprakZmO0FNbG5GRTtFbUJ3REUsY0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSnVqRmY7QXlCMWpGRTtFQUVFO0F6QjJqRko7QXlCeGpGRTtFQUVFLGNyQkpXO0VxQktYO0F6QnlqRko7QXlCdGpGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSm1rRmY7QXlCcGpGSTtFQUtJO0F6QmtqRlI7O0F3QjNrRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUoya0ZmO0FNM29GRTtFbUJ3REUsV0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSmdsRmY7QXlCbmxGRTtFQUVFO0F6Qm9sRko7QXlCamxGRTtFQUVFLGNyQkpXO0VxQktYO0F6QmtsRko7QXlCL2tGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSjRsRmY7QXlCN2tGSTtFQUtJO0F6QjJrRlI7O0F3QnBtRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUpvbUZmO0FNcHFGRTtFbUJ3REUsY0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSnltRmY7QXlCNW1GRTtFQUVFO0F6QjZtRko7QXlCMW1GRTtFQUVFLGNyQkpXO0VxQktYO0F6QjJtRko7QXlCeG1GRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSnFuRmY7QXlCdG1GSTtFQUtJO0F6Qm9tRlI7O0F3QjduRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUo2bkZmO0FNN3JGRTtFbUJ3REUsV0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSmtvRmY7QXlCcm9GRTtFQUVFO0F6QnNvRko7QXlCbm9GRTtFQUVFLGNyQkpXO0VxQktYO0F6Qm9vRko7QXlCam9GRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSjhvRmY7QXlCL25GSTtFQUtJO0F6QjZuRlI7O0F3QnRwRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUpzcEZmO0FNdHRGRTtFbUJ3REUsY0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSjJwRmY7QXlCOXBGRTtFQUVFO0F6QitwRko7QXlCNXBGRTtFQUVFLGNyQkpXO0VxQktYO0F6QjZwRko7QXlCMXBGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSnVxRmY7QXlCeHBGSTtFQUtJO0F6QnNwRlI7O0F3Qi9xRkU7RUNQQSxjckJZYTtFcUJYYixxQnJCV2E7QUorcUZmO0FNL3VGRTtFbUJ3REUsV0FMZ0Q7RUFNaEQseUJyQk9XO0VxQk5YLHFCckJNVztBSm9yRmY7QXlCdnJGRTtFQUVFO0F6QndyRko7QXlCcnJGRTtFQUVFLGNyQkpXO0VxQktYO0F6QnNyRko7QXlCbnJGRTtFQUdFO0VBQ0EseUJyQlpXO0VxQmFYLHFCckJiVztBSmdzRmY7QXlCanJGSTtFQUtJO0F6QitxRlI7O0F3QjdyRkE7RUFDRSxnQnBCNk00QjtFb0I1TTVCLGNwQjJGd0M7RW9CMUZ4QyxxQnBCMkZ3QztBSnFtRjFDO0FNendGRTtFa0I0RUUsY3BCeUZzQztFb0J4RnRDLDBCcEJ5RnNDO0FKdW1GMUM7QXdCN3JGRTtFQUVFLDBCcEJvRnNDO0FKMG1GMUM7QXdCM3JGRTtFQUVFLGNwQnRGTztFb0J1RlA7QXhCNHJGSjs7QXdCanJGQTtFQ1BFO0VwQjRFSTtFb0IxRUosZ0JyQitINEI7RU92TjFCO0FYcXhGSjs7QXdCcHJGQTtFQ1hFO0VwQjRFSTtFb0IxRUosZ0JyQmdJNEI7RU94TjFCO0FYNHhGSjs7QXdCbHJGQTtFQUNFO0VBQ0E7QXhCcXJGRjtBd0JsckZFO0VBQ0Usa0JwQndUMEI7QUo0M0U5Qjs7QXdCNXFGRTs7O0VBQ0U7QXhCaXJGSjs7QTBCNXpGQTtFTGdCTSxnQ0tmSjtBMUIrekZGO0FxQjV5Rk07RUtwQk47SUxxQlE7RXJCK3lGTjtBQUNGO0EwQmwwRkU7RUFDRTtBMUJvMEZKOztBMEIvekZFO0VBQ0U7QTFCazBGSjs7QTBCOXpGQTtFQUNFO0VBQ0E7RUFDQTtFTERJLDZCS0VKO0ExQmkwRkY7QXFCL3pGTTtFS05OO0lMT1E7RXJCazBGTjtBQUNGO0EwQnAwRkU7RUFDRTtFQUNBO0VMTkUsNEJLT0Y7QTFCczBGSjtBcUJ6MEZNO0VLQUo7SUxDTTtFckI0MEZOO0FBQ0Y7O0EyQmoyRkE7Ozs7RUFJRTtBM0JvMkZGOztBMkJqMkZBO0VBQ0U7QTNCbzJGRjtBNEJoMUZJO0VBQ0U7RUFDQSxvQnhCK053QjtFd0I5TnhCLHVCeEI2TndCO0V3QjVOeEI7RUFoQ0o7RUFDQTtFQUNBO0VBQ0E7QTVCbTNGRjtBNEI5ekZJO0VBQ0U7QTVCZzBGTjs7QTJCMTJGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGF2QnlwQmtDO0V1QnhwQmxDO0VBQ0E7RUFDQSxnQnZCaXVCa0M7RXVCaHVCbEM7RUFDQTtFdEIySkk7RXNCekpKLGN2QlhTO0V1QllUO0VBQ0E7RUFDQSxzQnZCdkJTO0V1QndCVDtFQUNBO0VoQmRFO0FYNDNGSjs7QTJCcjJGSTtFQUNFO0VBQ0E7QTNCdzJGTjs7QTJCcjJGSTtFQUNFO0VBQ0E7QTNCdzJGTjs7QWU1MUZJO0VZbkJBO0lBQ0U7SUFDQTtFM0JtM0ZKO0UyQmgzRkU7SUFDRTtJQUNBO0UzQmszRko7QUFDRjtBZXYyRkk7RVluQkE7SUFDRTtJQUNBO0UzQjYzRko7RTJCMTNGRTtJQUNFO0lBQ0E7RTNCNDNGSjtBQUNGO0FlajNGSTtFWW5CQTtJQUNFO0lBQ0E7RTNCdTRGSjtFMkJwNEZFO0lBQ0U7SUFDQTtFM0JzNEZKO0FBQ0Y7QWUzM0ZJO0VZbkJBO0lBQ0U7SUFDQTtFM0JpNUZKO0UyQjk0RkU7SUFDRTtJQUNBO0UzQmc1Rko7QUFDRjtBMkJ6NEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsdUJ2QityQmdDO0FKNHNFcEM7QTRCMTZGSTtFQUNFO0VBQ0Esb0J4QitOd0I7RXdCOU54Qix1QnhCNk53QjtFd0I1TnhCO0VBekJKO0VBQ0E7RUFDQTtFQUNBO0E1QnM4RkY7QTRCeDVGSTtFQUNFO0E1QjA1Rk47O0EyQi80RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCdkJpckJnQztBSml1RXBDO0E0Qi83Rkk7RUFDRTtFQUNBLG9CeEIrTndCO0V3QjlOeEIsdUJ4QjZOd0I7RXdCNU54QjtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtBNUJvOUZGO0E0Qjc2Rkk7RUFDRTtBNUIrNkZOO0EyQjE1Rkk7RUFDRTtBM0I0NUZOOztBMkJ0NUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQnZCZ3FCZ0M7QUp5dkVwQztBNEJ2OUZJO0VBQ0U7RUFDQSxvQnhCK053QjtFd0I5TnhCLHVCeEI2TndCO0V3QjVOeEI7QTVCeTlGTjtBNEI5OEZNO0VBQ0U7QTVCZzlGUjtBNEI3OEZNO0VBQ0U7RUFDQSxxQnhCNE1zQjtFd0IzTXRCLHVCeEIwTXNCO0V3QnpNdEI7RUE5Qk47RUFDQTtFQUNBO0E1QjgrRkY7QTRCNzhGSTtFQUNFO0E1Qis4Rk47QTJCejZGSTtFQUNFO0EzQjI2Rk47O0EyQm42RkU7RUFJRTtFQUNBO0EzQm02Rko7O0EyQjk1RkE7RUU5R0U7RUFDQTtFQUNBO0VBQ0E7QTdCZ2hHRjs7QTJCOTVGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0J2QmlLNEI7RXVCaEs1QixXdkIvR1M7RXVCZ0hUO0VBRUE7RUFDQTtFQUNBO0EzQmc2RkY7QU1yaEdFO0VxQm9JRSxjdkJvbkJnQztFdUJubkJoQztFSi9JQSx5Qm5CR087QUppaUdYO0EyQmo1RkU7RUFFRSxXdkJwSk87RXVCcUpQO0VKdEpBLHlCbkJvUDBCO0FKcXpGOUI7QTJCLzRGRTtFQUVFLGN2QnRKTztFdUJ1SlA7RUFDQTtBM0JnNUZKOztBMkJ4NEZBO0VBQ0U7QTNCMjRGRjs7QTJCdjRGQTtFQUNFO0VBQ0Esc0J2QmltQmtDO0V1QmhtQmxDO0V0QkFJO0VzQkVKLFd2QnJLUztFdUJzS1Q7QTNCMDRGRjs7QTJCdDRGQTtFQUNFO0VBQ0E7RUFDQSxXdkI3S1M7QUpzakdYOztBOEJwa0dBOztFQUVFO0VBQ0E7RUFDQTtBOUJ1a0dGO0E4QnJrR0U7Ozs7O0VBQ0U7RUFDQTtBOUIya0dKO0FNMWtHRTs7Ozs7RXdCSUk7QTlCNmtHTjtBOEIza0dJOzs7Ozs7Ozs7Ozs7O0VBR0U7QTlCdWxHTjs7QThCamxHQTtFQUNFO0VBQ0E7RUFDQTtBOUJvbEdGO0E4QmxsR0U7RUFDRTtBOUJvbEdKOztBOEI5a0dFOztFQUVFO0E5QmlsR0o7QThCN2tHRTs7Ozs7RW5CWEU7RUFDQTtBWCtsR0o7QThCaGxHRTs7Ozs7RW5CRkU7RUFDQTtBWHlsR0o7O0E4QnRrR0E7RUFDRTtFQUNBO0E5QnlrR0Y7QThCdmtHRTtFQUdFO0E5QnVrR0o7QThCcGtHRTtFQUNFO0E5QnNrR0o7O0E4QmxrR0E7RUFDRTtFQUNBO0E5QnFrR0Y7O0E4QmxrR0E7RUFDRTtFQUNBO0E5QnFrR0Y7O0E4QmpqR0E7RUFDRTtFQUNBO0VBQ0E7QTlCb2pHRjtBOEJsakdFOztFQUVFO0E5Qm9qR0o7QThCampHRTs7RUFFRTtBOUJtakdKO0E4Qi9pR0U7Ozs7O0VuQnJGRTtFQUNBO0FYMm9HSjtBOEJsakdFOzs7OztFbkJ4R0U7RUFDQTtBWGlxR0o7O0E4QnRpR0U7Ozs7O0VBRUU7QTlCNGlHSjtBOEIxaUdJOzs7Ozs7Ozs7Ozs7O0VBRUU7RUFDQTtFQUNBO0E5QnVqR047O0ErQmh0R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQm10R0Y7QStCanRHRTs7Ozs7Ozs7Ozs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CNHRHSjtBK0IxdEdJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHRTtBL0JrOUdOO0ErQjc4R0U7Ozs7Ozs7Ozs7O0VBR0U7QS9CdTlHSjtBK0JuOUdFO0VBQ0U7QS9CcTlHSjtBK0JoOUdJOzs7Ozs7Ozs7RXBCSUE7RUFDQTtBWHU5R0o7QStCdjlHRTtFQUNFO0VBQ0E7QS9CeTlHSjtBK0J2OUdJO0VwQm5CQTtFQUNBO0FYNitHSjtBK0J6OUdJO0VwQlBBO0VBQ0E7QVhtK0dKO0ErQno5R0k7Ozs7Ozs7Ozs7Ozs7RXBCekJBO0VBQ0E7QVhpZ0hKO0ErQmgrR0k7Ozs7Ozs7Ozs7Ozs7RXBCbENBO0VBQ0E7QVhpaEhKOztBK0JoK0dBOztFQUVFO0EvQm0rR0Y7QStCOTlHRTs7Ozs7Ozs7RUFDRTtFQUNBO0EvQnUrR0o7QStCcitHSTs7Ozs7Ozs7RUFDRTtBL0I4K0dOO0ErQjErR0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUU7QS9CaWtISjs7QStCN2pIQTtFQUF1QjtBL0Jpa0h2Qjs7QStCaGtIQTtFQUFzQjtBL0Jva0h0Qjs7QStCNWpIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0UxQjJESTtFMEJ6REosZ0IzQnFLNEI7RTJCcEs1QixjYndCd0I7RWF2QnhCLGMzQi9HUztFMkJnSFQ7RUFDQTtFQUNBLHlCM0J2SFM7RTJCd0hUO0VwQi9HRTtBWCtxSEo7QStCNWpIRTs7RUFFRTtBL0I4akhKOztBK0JwakhBOzs7OztFQUVFLGdDM0JtV3NDO0FKdXRHeEM7O0ErQnZqSEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTUU7RTFCd0JJO0UwQnRCSixjYkZ3QjtFUDFJdEI7QVhxdEhKOztBK0Jya0hBOzs7OztFQUVFLGtDM0JpVnNDO0FKMHZHeEM7O0ErQnhrSEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTUU7RTFCT0k7RTBCTEosY2J2QndCO0VQdEl0QjtBWHV2SEo7O0ErQnRsSEE7O0VBRUU7QS9CeWxIRjs7QStCOWtIQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RXBCOUpJO0VBQ0E7QVhreEhKOztBK0IxbUhBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VwQjNKSTtFQUNBO0FYbXpISjs7QWdDMzFIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FoQzgxSEY7O0FnQzMxSEE7RUFDRTtFQUNBLGtCNUJ5ZnNDO0FKcTJHeEM7O0FnQzMxSEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxXNUJxZnNDO0U0QnBmdEM7RUFDQTtBaEM4MUhGO0FnQzUxSEU7RUFDRSxXNUJ6Qk87RTRCMEJQLHFCNUJ5TjBCO0VtQnBQMUIseUJuQm9QMEI7QUpzb0g5QjtBZ0MxMUhFO0VBS0ksZ0Q1QmdXd0I7QUp3L0c5QjtBZ0NwMUhFO0VBQ0UscUI1QnNib0M7QUpnNkd4QztBZ0NuMUhFO0VBQ0UsVzVCN0NPO0U0QjhDUCx5QjVCa2Y0QztFNEJqZjVDLHFCNUJpZjRDO0FKbzJHaEQ7QWdDOTBISTtFQUNFLGM1QmpESztBSmk0SFg7QWdDOTBITTtFQUNFLHlCNUJ4REc7QUp3NEhYOztBZ0N0MEhBO0VBQ0U7RUFDQTtFQUVBO0FoQ3cwSEY7QWdDcDBIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzVCd2JvQztFNEJ2YnBDLFk1QnVib0M7RTRCdGJwQztFQUNBO0VBQ0Esc0I1QnJGTztFNEJzRlA7QWhDczBISjtBZ0NqMEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXNUJ5YW9DO0U0QnhhcEMsWTVCd2FvQztFNEJ2YXBDO0VBQ0E7QWhDbTBISjs7QWdDenpIRTtFckJsR0U7QVgrNUhKO0FnQ3h6SEk7RUFDRTtBaEMwekhOO0FnQ3J6SEk7RUFDRSxxQjVCMEh3QjtFbUJwUDFCLHlCbkJvUDBCO0FKOHJIOUI7QWdDcHpISTtFQUNFO0FoQ3N6SE47QWdDanpISTtFVHBJQSx3Q25CeWhCNEM7QUorNUdoRDtBZ0NqekhJO0VUdklBLHdDbkJ5aEI0QztBSms2R2hEOztBZ0N6eUhFO0VBRUUsa0I1QjBaNEM7QUppNUdoRDtBZ0N2eUhJO0VBQ0U7QWhDeXlITjtBZ0NweUhJO0VUOUpBLHdDbkJ5aEI0QztBSjQ2R2hEOztBZ0M1eEhBO0VBQ0U7QWhDK3hIRjtBZ0M1eEhJO0VBQ0U7RUFDQSxjNUJrWTBDO0U0QmpZMUM7RUFFQSxxQjVCZ1kwQztBSjY1R2hEO0FnQzF4SEk7RUFDRTtFQUNBO0VBQ0EsdUI1QjJYMEM7RTRCMVgxQyx3QjVCMFgwQztFNEJ6WDFDLHlCNUJwTEs7RTRCc0xMLHFCNUJzWDBDO0VpQnhpQjFDLHlJV21MQTtBaEMyeEhOO0FxQjE4SE07RVd1S0Y7SVh0S0k7RXJCNjhITjtBQUNGO0FnQzN4SEk7RUFDRSxzQjVCbE1LO0U0Qm1NTDtBaEM2eEhOO0FnQ3h4SEk7RVR6TUEsd0NuQnloQjRDO0FKMjhHaEQ7O0FnQzl3SEE7RUFDRTtFQUNBO0VBQ0EsbUM1QnFSc0M7RTRCcFJ0QztFM0I1Q0k7RTJCK0NKLGdCNUI2RDRCO0U0QjVENUIsZ0I1QmlFNEI7RTRCaEU1QixjNUJ2TlM7RTRCd05UO0VBQ0E7RUFDQTtFckJ0TkU7RXFCeU5GO0tBQUE7VUFBQTtBaEMrd0hGO0FnQzd3SEU7RUFDRSxxQjVCd1BvQztFNEJ2UHBDO0VBS0UsZ0Q1Qm1XOEI7QUp3NkdwQztBZ0N4d0hJO0VBTUUsYzVCL09LO0U0QmdQTCxzQmRoSG9CO0FsQnEzSDFCO0FnQ2p3SEU7RUFFRTtFQUNBLHNCNUIrSDBCO0U0QjlIMUI7QWhDa3dISjtBZ0MvdkhFO0VBQ0UsYzVCN1BPO0U0QjhQUCx5QjVCbFFPO0FKbWdJWDtBZ0M3dkhFO0VBQ0U7QWhDK3ZISjtBZ0MzdkhFO0VBQ0U7RUFDQTtBaEM2dkhKOztBZ0N6dkhBO0VBQ0Usa0M1QjBOc0M7RTRCek50QyxvQjVCaUg0QjtFNEJoSDVCLHVCNUJnSDRCO0U0Qi9HNUIsb0I1QmdINEI7RUMxTnhCO0FMdTJITjs7QWdDenZIQTtFQUNFLGdDNUJtTnNDO0U0QmxOdEMsbUI1QjhHNEI7RTRCN0c1QixzQjVCNkc0QjtFNEI1RzVCLGtCNUI2RzRCO0VDL054QjtBTCsySE47O0FnQ3B2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzVCaU1zQztFNEJoTXRDO0FoQ3V2SEY7O0FnQ3B2SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzVCeUxzQztFNEJ4THRDO0VBQ0E7RUFDQTtBaEN1dkhGO0FnQ3J2SEU7RUFDRSxxQjVCcUtvQztFNEJwS3BDLGdENUJ5RTBCO0FKOHFIOUI7QWdDbnZIRTtFQUVFLHlCNUIvVE87QUptaklYO0FnQ2h2SEk7RUFDRSxpQjVCMlRhO0FKdTdHbkI7QWdDOXVIRTtFQUNFO0FoQ2d2SEo7O0FnQzV1SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUM1QndKc0M7RTRCdkp0QztFQUNBO0VBRUEsZ0I1QmhFNEI7RTRCaUU1QixnQjVCNUQ0QjtFNEI2RDVCLGM1QnBWUztFNEJxVlQsc0I1QjVWUztFNEI2VlQ7RXJCbFZFO0FYaWtJSjtBZ0MzdUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkI1QmlJb0M7RTRCaElwQztFQUNBLGdCNUI1RTBCO0U0QjZFMUIsYzVCcFdPO0U0QnFXUDtFVDdXQSx5Qm5CR087RTRCNFdQO0VyQm5XQTtBWGlsSUo7O0FnQ251SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBaENzdUhGO0FnQ3B1SEU7RUFDRTtBaENzdUhKO0FnQ2x1SEk7RUFBMEIsZ0U1Qm9PZTtBSmlnSDdDO0FnQ3B1SEk7RUFBMEIsZ0U1Qm1PZTtBSm9nSDdDO0FnQ3R1SEk7RUFBMEIsZ0U1QmtPZTtBSnVnSDdDO0FnQ3R1SEU7RUFDRTtBaEN3dUhKO0FnQ3J1SEU7RUFDRSxXNUJvTnlDO0U0Qm5OekMsWTVCbU55QztFNEJsTnpDO0VUbFpBLHlCbkJvUDBCO0U0QmdLMUIsUzVCbU55QztFTzNsQnpDO0VVRkUsb0hXNllGO0VYN1lFLDRHVzZZRjtFQUNBO1VBQUE7QWhDc3VISjtBcUJobklNO0VXaVlKO0lYaFlNO0lBQUE7RXJCbW5JTjtBQUNGO0FnQ3p1SEk7RVQxWkEseUJuQjRtQnlDO0FKMGhIN0M7QWdDdnVIRTtFQUNFLFc1QjZMZ0M7RTRCNUxoQyxjNUI2TGdDO0U0QjVMaEM7RUFDQSxlNUI0TGdDO0U0QjNMaEMseUI1QmhhTztFNEJpYVA7RXJCelpBO0FYbW9JSjtBZ0NydUhFO0VBQ0UsVzVCeUx5QztFNEJ4THpDLFk1QndMeUM7RW1CcG1CekMseUJuQm9QMEI7RTRCMEwxQixTNUJ5THlDO0VPM2xCekM7RVVGRSxpSFd1YUY7RVh2YUUsNEdXdWFGO0VBQ0E7T0FBQTtBaENzdUhKO0FxQjFvSU07RVc0Wko7SVgzWk07SUFBQTtFckI2b0lOO0FBQ0Y7QWdDenVISTtFVHBiQSx5Qm5CNG1CeUM7QUpvakg3QztBZ0N2dUhFO0VBQ0UsVzVCbUtnQztFNEJsS2hDLGM1Qm1LZ0M7RTRCbEtoQztFQUNBLGU1QmtLZ0M7RTRCaktoQyx5QjVCMWJPO0U0QjJiUDtFckJuYkE7QVg2cElKO0FnQ3J1SEU7RUFDRSxXNUIrSnlDO0U0QjlKekMsWTVCOEp5QztFNEI3SnpDO0VBQ0Esb0I1QnJFMEI7RTRCc0UxQixtQjVCdEUwQjtFbUJuWTFCLHlCbkJvUDBCO0U0QnVOMUIsUzVCNEp5QztFTzNsQnpDO0VVRkUsZ0hXb2NGO0VYcGNFLDRHV29jRjtFQUNBO0FoQ3N1SEo7QXFCdnFJTTtFV3NiSjtJWHJiTTtJQUFBO0VyQjBxSU47QUFDRjtBZ0N6dUhJO0VUamRBLHlCbkI0bUJ5QztBSmlsSDdDO0FnQ3Z1SEU7RUFDRSxXNUJzSWdDO0U0QnJJaEMsYzVCc0lnQztFNEJySWhDO0VBQ0EsZTVCcUlnQztFNEJwSWhDO0VBQ0E7RUFDQTtBaEN5dUhKO0FnQ3J1SEU7RUFDRSx5QjVCOWRPO0VPUVA7QVg4cklKO0FnQ3B1SEU7RUFDRTtFQUNBLHlCNUJwZU87RU9RUDtBWG1zSUo7QWdDbHVISTtFQUNFLHlCNUJ4ZUs7QUo0c0lYO0FnQ2p1SEk7RUFDRTtBaENtdUhOO0FnQ2h1SEk7RUFDRSx5QjVCaGZLO0FKa3RJWDtBZ0MvdEhJO0VBQ0U7QWhDaXVITjtBZ0M5dEhJO0VBQ0UseUI1QnhmSztBSnd0SVg7O0FnQzN0SEE7OztFWHpmTSw0R1c0Zko7QWhDOHRIRjtBcUJ0dElNO0VXcWZOOzs7SVhwZlE7RXJCMnRJTjtBQUNGOztBaUM1dUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakMrdUlGOztBaUM1dUlBO0VBQ0U7RUFDQTtBakMrdUlGO0FNOXVJRTtFMkJHRTtBakM4dUlKO0FpQzF1SUU7RUFDRSxjN0JYTztFNkJZUDtFQUNBO0FqQzR1SUo7O0FpQ3B1SUE7RUFDRTtBakN1dUlGO0FpQ3J1SUU7RUFDRTtFQUNBO0VBQ0E7RXRCYkE7RUFDQTtBWHF2SUo7QU1qd0lFO0UyQjZCSTtFQUNBLHFDN0JpcEI4QjtBSnNsSHBDO0FpQ3B1SUk7RUFDRSxjN0JyQ0s7RTZCc0NMO0VBQ0E7QWpDc3VJTjtBaUNsdUlFOztFQUVFLGM3QjVDTztFNkI2Q1Asc0I3QnBETztFNkJxRFAsa0M3QnNvQmdDO0FKOGxIcEM7QWlDanVJRTtFQUVFO0V0QnRDQTtFQUNBO0FYeXdJSjs7QWlDeHRJRTtFQUNFO0VBQ0E7RXRCN0RBO0FYeXhJSjtBaUN4dElFOztFQUVFLFc3QjlFTztFNkIrRVAseUI3Qm9LMEI7QUpzakk5Qjs7QWlDaHRJRTs7RUFFRTtFQUNBO0FqQ210SUo7O0FpQzlzSUU7O0VBRUU7RUFDQTtFQUNBO0FqQ2l0SUo7O0FpQ3ZzSUU7RUFDRTtBakMwc0lKO0FpQ3hzSUU7RUFDRTtBakMwc0lKOztBa0NueklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ3N6SUY7QWtDbHpJRTs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxDeXpJSjtBa0NyeUlBO0VBQ0U7RUFDQSxzQjlCa3FCa0M7RThCanFCbEMseUI5QmlxQmtDO0U4QmhxQmxDLGtCOUJnRk87RUM2Q0g7RTZCM0hKO0VBQ0E7QWxDdXlJRjtBTWoxSUU7RTRCNkNFO0FsQ3V5SUo7O0FrQzl4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ2l5SUY7QWtDL3hJRTtFQUNFO0VBQ0E7QWxDaXlJSjtBa0M5eElFO0VBQ0U7RUFDQTtBbENneUlKOztBa0N2eElBO0VBQ0U7RUFDQSxtQjlCeWxCa0M7RThCeGxCbEMsc0I5QndsQmtDO0FKa3NIcEM7O0FrQzl3SUE7RUFDRTtFQUNBO0VBR0E7QWxDK3dJRjs7QWtDM3dJQTtFQUNFO0U3QjhESTtFNkI1REo7RUFDQTtFQUNBO0V2QnhHRTtBWHUzSUo7QU16M0lFO0U0QjhHRTtBbEM4d0lKOztBa0N4d0lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzJ3SUY7O0FrQ3h3SUE7RUFDRSxnQjlCZ2xCa0M7RThCL2tCbEM7QWxDMndJRjs7QWVqMUlJO0VtQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFbEN3d0lSO0FBQ0Y7QWUxMklJO0VtQjZGQTtJQW9CSTtJQUNBO0VsQzZ2SU47RWtDM3ZJTTtJQUNFO0VsQzZ2SVI7RWtDM3ZJUTtJQUNFO0VsQzZ2SVY7RWtDMXZJUTtJQUNFLHFCOUJ5aEJ3QjtJOEJ4aEJ4QixvQjlCd2hCd0I7RUpvdUhsQztFa0N2dklNOzs7Ozs7SUFDRTtFbEM4dklSO0VrQ2h2SU07SUFDRTtFbENrdklSO0VrQy91SU07SUFDRTtJQUdBO0VsQyt1SVI7RWtDNXVJTTtJQUNFO0VsQzh1SVI7QUFDRjtBZS8zSUk7RW1Ca0ZJOzs7Ozs7SUFDRTtJQUNBO0VsQ3F6SVI7QUFDRjtBZXY1SUk7RW1CNkZBO0lBb0JJO0lBQ0E7RWxDMHlJTjtFa0N4eUlNO0lBQ0U7RWxDMHlJUjtFa0N4eUlRO0lBQ0U7RWxDMHlJVjtFa0N2eUlRO0lBQ0UscUI5QnloQndCO0k4QnhoQnhCLG9COUJ3aEJ3QjtFSml4SGxDO0VrQ3B5SU07Ozs7OztJQUNFO0VsQzJ5SVI7RWtDN3hJTTtJQUNFO0VsQyt4SVI7RWtDNXhJTTtJQUNFO0lBR0E7RWxDNHhJUjtFa0N6eElNO0lBQ0U7RWxDMnhJUjtBQUNGO0FlNTZJSTtFbUJrRkk7Ozs7OztJQUNFO0lBQ0E7RWxDazJJUjtBQUNGO0FlcDhJSTtFbUI2RkE7SUFvQkk7SUFDQTtFbEN1MUlOO0VrQ3IxSU07SUFDRTtFbEN1MUlSO0VrQ3IxSVE7SUFDRTtFbEN1MUlWO0VrQ3AxSVE7SUFDRSxxQjlCeWhCd0I7SThCeGhCeEIsb0I5QndoQndCO0VKOHpIbEM7RWtDajFJTTs7Ozs7O0lBQ0U7RWxDdzFJUjtFa0MxMElNO0lBQ0U7RWxDNDBJUjtFa0N6MElNO0lBQ0U7SUFHQTtFbEN5MElSO0VrQ3QwSU07SUFDRTtFbEN3MElSO0FBQ0Y7QWV6OUlJO0VtQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFbEMrNElSO0FBQ0Y7QWVqL0lJO0VtQjZGQTtJQW9CSTtJQUNBO0VsQ280SU47RWtDbDRJTTtJQUNFO0VsQ280SVI7RWtDbDRJUTtJQUNFO0VsQ280SVY7RWtDajRJUTtJQUNFLHFCOUJ5aEJ3QjtJOEJ4aEJ4QixvQjlCd2hCd0I7RUoyMkhsQztFa0M5M0lNOzs7Ozs7SUFDRTtFbENxNElSO0VrQ3YzSU07SUFDRTtFbEN5M0lSO0VrQ3QzSU07SUFDRTtJQUdBO0VsQ3MzSVI7RWtDbjNJTTtJQUNFO0VsQ3EzSVI7QUFDRjtBa0N0N0lJO0VBb0JJO0VBQ0E7QWxDcTZJUjtBa0N4N0lROzs7Ozs7RUFDRTtFQUNBO0FsQys3SVY7QWtDNTZJUTtFQUNFO0FsQzg2SVY7QWtDNTZJVTtFQUNFO0FsQzg2SVo7QWtDMzZJVTtFQUNFLHFCOUJ5aEJ3QjtFOEJ4aEJ4QixvQjlCd2hCd0I7QUpxNUhwQztBa0N4NklROzs7Ozs7RUFDRTtBbEMrNklWO0FrQ2o2SVE7RUFDRTtBbENtNklWO0FrQ2g2SVE7RUFDRTtFQUdBO0FsQ2c2SVY7QWtDNzVJUTtFQUNFO0FsQys1SVY7O0FrQ2o1SUU7RUFDRSx5QjlCaWdCZ0M7QUptNUhwQztBTTVtSkU7RTRCMk5JLHlCOUI4ZjhCO0FKczVIcEM7QWtDLzRJSTtFQUNFLGNoQjlJZTtBbEIraEpyQjtBTWxuSkU7RTRCb09NLHlCOUJvZjRCO0FKNjVIcEM7QWtDOTRJTTtFQUNFLHlCOUJrZjRCO0FKODVIcEM7QWtDNTRJSTs7OztFQUlFLHlCOUJ5ZThCO0FKcTZIcEM7QWtDMTRJRTtFQUNFLGNoQmxLaUI7RWdCbUtqQixnQzlCc2VnQztBSnM2SHBDO0FrQ3o0SUU7RUFDRTtBbEMyNElKO0FrQ3g0SUU7RUFDRSxjaEIzS2lCO0FsQnFqSnJCO0FrQ3o0SUk7RUFDRSx5QjlCeWQ4QjtBSms3SHBDO0FNM29KRTtFNEJtUU0seUI5QnNkNEI7QUpxN0hwQzs7QWtDbjRJRTtFQUNFLFc5QnJSTztBSjJwSlg7QU1scEpFO0U0QitRSSxXOUJ4Uks7QUo4cEpYO0FrQ2o0SUk7RUFDRSwrQjlCMmI4QjtBSnc4SHBDO0FNeHBKRTtFNEJ3Uk0sZ0M5QnliNEI7QUowOEhwQztBa0NoNElNO0VBQ0UsZ0M5QnViNEI7QUoyOEhwQztBa0M5M0lJOzs7O0VBSUUsVzlCN1NLO0FKNnFKWDtBa0M1M0lFO0VBQ0UsK0I5QnVhZ0M7RThCdGFoQyxzQzlCMmFnQztBSm05SHBDO0FrQzMzSUU7RUFDRTtBbEM2M0lKO0FrQzEzSUU7RUFDRSwrQjlCOFpnQztBSjg5SHBDO0FrQzMzSUk7RUFDRSxXOUI3VEs7QUowckpYO0FNanJKRTtFNEJ1VE0sVzlCaFVHO0FKNnJKWDs7QW1DaHNKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxzQi9CSlM7RStCS1Q7RUFDQTtFeEJLRTtBWDhySko7QW1DaHNKRTtFQUNFO0VBQ0E7QW5Da3NKSjtBbUMvckpFO0VBQ0U7RUFDQTtBbkNpc0pKO0FtQy9ySkk7RUFDRTtFeEJDRjtFQUNBO0FYaXNKSjtBbUMvckpJO0VBQ0U7RXhCVUY7RUFDQTtBWHdySko7QW1DNXJKRTs7RUFFRTtBbkM4ckpKOztBbUMxckpBO0VBR0U7RUFHQTtFQUNBLGdCL0JneEJrQztBSnk2SHBDOztBbUNyckpBO0VBQ0Usc0IvQjB3QmtDO0FKODZIcEM7O0FtQ3JySkE7RUFDRTtFQUNBO0FuQ3dySkY7O0FtQ3JySkE7RUFDRTtBbkN3ckpGOztBTTd1SkU7RTZCMERFO0FuQ3VySko7QW1DcHJKRTtFQUNFLG9CL0J5dkJnQztBSjY3SHBDOztBbUM5cUpBO0VBQ0U7RUFDQTtFQUVBLHFDL0JrdkJrQztFK0JqdkJsQztBbkNnckpGO0FtQzlxSkU7RXhCdkVFO0FYd3ZKSjs7QW1DNXFKQTtFQUNFO0VBRUEscUMvQnV1QmtDO0UrQnR1QmxDO0FuQzhxSkY7QW1DNXFKRTtFeEJsRkU7QVhpd0pKOztBbUNycUpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5Dd3FKRjs7QW1DcnFKQTtFQUNFO0VBQ0E7QW5Dd3FKRjs7QW1DcHFKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQi9CNnNCa0M7RU81ekJoQztBWHV4Sko7O0FtQ3BxSkE7OztFQUdFO0VBQ0E7QW5DdXFKRjs7QW1DcHFKQTs7RXhCakhJO0VBQ0E7QVgweEpKOztBbUNycUpBOztFeEJ4R0k7RUFDQTtBWGt4Sko7O0FtQ2xxSkU7RUFDRSxtQi9CcXJCZ0M7QUpnL0hwQztBZXB3Skk7RW9CNkZKO0lBTUk7SUFDQTtJQUNBO0lBQ0E7RW5DcXFKRjtFbUNucUpFO0lBRUU7SUFDQSxrQi9CeXFCOEI7SStCeHFCOUI7SUFDQSxpQi9CdXFCOEI7RUo2L0hsQztBQUNGOztBbUN4cEpFO0VBQ0UsbUIvQnlwQmdDO0FKa2dJcEM7QWV0eEpJO0VvQnVISjtJQVFJO0lBQ0E7RW5DMnBKRjtFbUN4cEpFO0lBRUU7SUFDQTtFbkN5cEpKO0VtQ3ZwSkk7SUFDRTtJQUNBO0VuQ3lwSk47RW1DcHBKTTtJeEJ6S0o7SUFDQTtFWGcwSkY7RW1DcnBKUTs7SUFHRTtFbkNzcEpWO0VtQ3BwSlE7O0lBR0U7RW5DcXBKVjtFbUNqcEpNO0l4QjFLSjtJQUNBO0VYOHpKRjtFbUNscEpROztJQUdFO0VuQ21wSlY7RW1DanBKUTs7SUFHRTtFbkNrcEpWO0FBQ0Y7O0FtQ3JvSkU7RUFDRSxzQi9COGtCZ0M7QUowaklwQztBZWgwSkk7RW9Cc0xKO0lBTUksb0IvQjJsQmdDO1MrQjNsQmhDLGUvQjJsQmdDO0krQjFsQmhDLHdCL0IybEJnQztTK0IzbEJoQyxtQi9CMmxCZ0M7SStCMWxCaEM7SUFDQTtFbkN3b0pGO0VtQ3RvSkU7SUFDRTtJQUNBO0VuQ3dvSko7QUFDRjs7QW1DL25KQTtFQUNFO0FuQ2tvSkY7QW1DaG9KRTtFQUNFO0FuQ2tvSko7QW1DaG9KSTtFQUNFO0V4QnZPRjtFQUNBO0FYMDJKSjtBbUNob0pJO0V4QnpQQTtFQUNBO0FYNDNKSjtBbUNob0pJO0V4QnRRQTtFd0J3UUU7QW5Da29KTjs7QW9DNTVKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CbEJ3TWtDO0VieEI5QjtFK0I5S0o7RUFDQSw2QmxCdU1rQztFUDVMaEM7QVhxNUpKOztBb0MxNUpFO0VBQ0Usb0JsQjZMZ0M7QWxCZ3VKcEM7QW9DMzVKSTtFQUNFO0VBQ0EscUJsQnlMOEI7RWtCeEw5QixjaENOSztFZ0NPTDtBcEM2NUpOO0FvQ241SkU7RUFDRTtBcENxNUpKO0FvQ2w1SkU7RUFDRTtBcENvNUpKO0FvQ2o1SkU7RUFDRSxjaEN6Qk87QUo0NkpYOztBcUMxN0pBO0VBQ0U7RTdCR0E7RUFDQTtFR2FFO0FYKzZKSjs7QXFDMzdKQTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGlCakNveEJrQztFaUNueEJsQyxjakNtS3dDO0VpQ2pLeEMsc0JqQ1BTO0VpQ1FUO0FyQzg3SkY7QXFDNTdKRTs7RUFDRTtFQUNBLGNqQzhKc0M7RWlDN0p0QztFQUNBLHlCakNaTztFaUNhUCxxQmpDWk87QUoyOEpYO0FxQzU3SkU7O0VBQ0U7RUFDQSxVakM0d0JnQztFaUMzd0JoQyxnRGpDK1cwQjtBSmdsSjlCOztBcUN6N0pJOzs7OztFQUNFO0UxQmFGO0VBQ0E7QVhvN0pKO0FxQzc3Skk7Ozs7O0UxQk5BO0VBQ0E7QVgwOEpKO0FxQ2g4SkU7Ozs7O0VBQ0U7RUFDQSxXakN4Q087RWlDeUNQLHlCakMwTTBCO0VpQ3pNMUIscUJqQ3lNMEI7QUo2dko5QjtBcUNuOEpFOzs7OztFQUNFLGNqQ3hDTztFaUN5Q1A7RUFFQTtFQUNBLHNCakNsRE87RWlDbURQLHFCakNoRE87QUp3L0pYOztBc0MvL0pFOzs7RUFDRTtFakNnTEU7RWlDOUtGLGdCbENtTzBCO0FKaXlKOUI7QXNDLy9KTTs7Ozs7OztFM0JxQ0Y7RUFDQTtBWG0rSko7QXNDcGdLTTs7Ozs7OztFM0JrQkY7RUFDQTtBWDIvSko7O0FzQzNoS0U7OztFQUNFO0VqQ2dMRTtFaUM5S0YsZ0JsQ29PMEI7QUo0eko5QjtBc0MzaEtNOzs7Ozs7O0UzQnFDRjtFQUNBO0FYKy9KSjtBc0NoaUtNOzs7Ozs7O0UzQmtCRjtFQUNBO0FYdWhLSjs7QXVDcmpLQTtFQUNFO0VBQ0E7RWxDNkpFO0VrQzNKRixnQm5Dd1I0QjtFbUN2UjVCO0VBQ0E7RUFDQTtFQUNBO0U1QktFO0VVRkUscUlrQkRKO0F2Q3dqS0Y7QXFCbmpLTTtFa0JmTjtJbEJnQlE7RXJCc2pLTjtBQUNGO0FNNWpLRTtFaUNHSTtBdkM0aktOOztBdUN2aktFO0VBQ0U7QXZDMGpLSjs7QXVDcmpLQTtFQUNFO0VBQ0E7QXZDd2pLRjs7QXVDampLQTtFQUNFLG9CbkNpNEJrQztFbUNoNEJsQyxtQm5DZzRCa0M7RU92NUJoQztBWDRrS0o7O0F1QzVpS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKdWhLZjtBTW5sS0U7RWtDVkk7RUFDQTtBeENnbUtOO0F3QzdsS0k7RUFFRTtFQUNBO0F4QzhsS047O0F1Q3pqS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKb2lLZjtBTWhtS0U7RWtDVkk7RUFDQTtBeEM2bUtOO0F3QzFtS0k7RUFFRTtFQUNBO0F4QzJtS047O0F1Q3RrS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKaWpLZjtBTTdtS0U7RWtDVkk7RUFDQTtBeEMwbktOO0F3Q3ZuS0k7RUFFRTtFQUNBO0F4Q3duS047O0F1Q25sS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKOGpLZjtBTTFuS0U7RWtDVkk7RUFDQTtBeEN1b0tOO0F3Q3BvS0k7RUFFRTtFQUNBO0F4Q3FvS047O0F1Q2htS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKMmtLZjtBTXZvS0U7RWtDVkk7RUFDQTtBeENvcEtOO0F3Q2pwS0k7RUFFRTtFQUNBO0F4Q2twS047O0F1QzdtS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKd2xLZjtBTXBwS0U7RWtDVkk7RUFDQTtBeENpcUtOO0F3QzlwS0k7RUFFRTtFQUNBO0F4QytwS047O0F1QzFuS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKcW1LZjtBTWpxS0U7RWtDVkk7RUFDQTtBeEM4cUtOO0F3QzNxS0k7RUFFRTtFQUNBO0F4QzRxS047O0F1Q3ZvS0U7RUNqREE7RUFDQSx5QnBDMEVhO0FKa25LZjtBTTlxS0U7RWtDVkk7RUFDQTtBeEMycktOO0F3Q3hyS0k7RUFFRTtFQUNBO0F4Q3lyS047O0F5Q3RzS0E7RUFDRTtFQUNBLG1CckN5ekJrQztFcUN2ekJsQyx5QnJDS1M7RU9TUDtBWDJyS0o7QWVqcEtJO0UwQjVESjtJQVFJO0V6Q3lzS0Y7QUFDRjs7QXlDdHNLQTtFQUNFO0VBQ0E7RTlCSUU7QVhzc0tKOztBMENwdEtBO0VBQ0U7RUFDQTtFQUNBLG1CdEN5OUJrQztFc0N4OUJsQztFL0JVRTtBWDhzS0o7O0EwQ250S0E7RUFFRTtBMUNxdEtGOztBMENqdEtBO0VBQ0UsZ0J0QzZRNEI7QUp1OEo5Qjs7QTBDNXNLQTtFQUNFO0ExQytzS0Y7QTBDNXNLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUM4c0tKOztBMENwc0tFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ3lzS3ZFO0EyQ3J2S0U7RUFDRTtBM0N1dktKO0EyQ3B2S0U7RUFDRTtBM0NzdktKOztBMENodEtFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ3F0S3ZFO0EyQ2p3S0U7RUFDRTtBM0Ntd0tKO0EyQ2h3S0U7RUFDRTtBM0Nrd0tKOztBMEM1dEtFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ2l1S3ZFO0EyQzd3S0U7RUFDRTtBM0Mrd0tKO0EyQzV3S0U7RUFDRTtBM0M4d0tKOztBMEN4dUtFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQzZ1S3ZFO0EyQ3p4S0U7RUFDRTtBM0MyeEtKO0EyQ3h4S0U7RUFDRTtBM0MweEtKOztBMENwdktFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ3l2S3ZFO0EyQ3J5S0U7RUFDRTtBM0N1eUtKO0EyQ3B5S0U7RUFDRTtBM0NzeUtKOztBMENod0tFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ3F3S3ZFO0EyQ2p6S0U7RUFDRTtBM0NtektKO0EyQ2h6S0U7RUFDRTtBM0NrektKOztBMEM1d0tFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQ2l4S3ZFO0EyQzd6S0U7RUFDRTtBM0MrektKO0EyQzV6S0U7RUFDRTtBM0M4ektKOztBMEN4eEtFO0VDL0NBLGNEZ0RxSDtFbkIzQ25ILHlCbUIyQ3VCO0VDOUN6QixxQkQ4Q3FFO0ExQzZ4S3ZFO0EyQ3owS0U7RUFDRTtBM0MyMEtKO0EyQ3gwS0U7RUFDRTtBM0MwMEtKOztBNENsMUtFO0VBQ0U7SUFBTztFNUNzMUtUO0U0Q3IxS0U7SUFBSztFNUN3MUtQO0FBQ0Y7QTRDcjFLQTtFQUNFO0VBQ0EsWXhDaytCa0M7RXdDaitCbEM7RUFDQTtFdkN3S0k7RXVDdEtKLHlCeENMUztFT1NQO0FYbzFLSjs7QTRDbjFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3hDakJTO0V3Q2tCVDtFQUNBO0VBQ0EseUJ4Q3U5QmtDO0VpQmwrQjlCLDJCdUJZSjtBNUNzMUtGO0FxQjkxS007RXVCRE47SXZCRVE7RXJCaTJLTjtBQUNGOztBNEN4MUtBO0VyQllFO0VxQlZBO0E1QzIxS0Y7O0E0Q3YxS0U7RUFDRTtBNUMwMUtKO0E0Q3YxS007RUFKSjtJQUtNO0U1QzAxS047QUFDRjs7QTZDcjRLQTtFQUNFO0VBQ0E7QTdDdzRLRjs7QTZDcjRLQTtFQUNFO0E3Q3c0S0Y7O0E4QzE0S0E7RUFDRTtFQUNBO0VBR0E7RUFDQTtFbkNRRTtBWG80S0o7O0E4Q2w0S0E7RUFDRTtFQUNBLGMxQ1JTO0UwQ1NUO0E5Q3E0S0Y7QU01NEtFO0V3Q1dFO0VBQ0EsYzFDZE87RTBDZVA7RUFDQSx5QjFDdEJPO0FKMDVLWDtBOENqNEtFO0VBQ0UsYzFDbEJPO0UwQ21CUCx5QjFDMUJPO0FKNjVLWDs7QThDMTNLQTtFQUNFO0VBQ0E7RUFDQTtFQUdBLHNCMUMzQ1M7RTBDNENUO0E5QzIzS0Y7QThDejNLRTtFbkMxQkU7RUFDQTtBWHM1S0o7QThDejNLRTtFbkNoQkU7RUFDQTtBWDQ0S0o7QThDejNLRTtFQUVFLGMxQ2xETztFMENtRFA7RUFDQSxzQjFDMURPO0FKbzdLWDtBOEN0M0tFO0VBQ0U7RUFDQSxXMUNoRU87RTBDaUVQLHlCMUNrTDBCO0UwQ2pMMUIscUIxQ2lMMEI7QUp1c0s5QjtBOENyM0tFO0VBQ0U7QTlDdTNLSjtBOENyM0tJO0VBQ0U7RUFDQSxxQjFDMkp3QjtBSjR0SzlCOztBOEN6MktJO0VBQ0U7QTlDNDJLTjtBOEN6MktRO0VuQzFCSjtFQVpBO0FYbTVLSjtBOEN4MktRO0VuQzNDSjtFQVlBO0FYMjRLSjtBOEN2MktRO0VBQ0U7QTlDeTJLVjtBOEN0MktRO0VBQ0UscUIxQzBIb0I7RTBDekhwQjtBOUN3MktWO0E4Q3QyS1U7RUFDRTtFQUNBLHNCMUNxSGtCO0FKbXZLOUI7O0FlbjZLSTtFK0JtQ0E7SUFDRTtFOUNvNEtKO0U4Q2o0S007SW5DMUJKO0lBWkE7RVgyNktGO0U4Q2g0S007SW5DM0NKO0lBWUE7RVhtNktGO0U4Qy8zS007SUFDRTtFOUNpNEtSO0U4QzkzS007SUFDRSxxQjFDMEhvQjtJMEN6SHBCO0U5Q2c0S1I7RThDOTNLUTtJQUNFO0lBQ0Esc0IxQ3FIa0I7RUoyd0s1QjtBQUNGO0FlNTdLSTtFK0JtQ0E7SUFDRTtFOUM0NUtKO0U4Q3o1S007SW5DMUJKO0lBWkE7RVhtOEtGO0U4Q3g1S007SW5DM0NKO0lBWUE7RVgyN0tGO0U4Q3Y1S007SUFDRTtFOUN5NUtSO0U4Q3Q1S007SUFDRSxxQjFDMEhvQjtJMEN6SHBCO0U5Q3c1S1I7RThDdDVLUTtJQUNFO0lBQ0Esc0IxQ3FIa0I7RUpteUs1QjtBQUNGO0FlcDlLSTtFK0JtQ0E7SUFDRTtFOUNvN0tKO0U4Q2o3S007SW5DMUJKO0lBWkE7RVgyOUtGO0U4Q2g3S007SW5DM0NKO0lBWUE7RVhtOUtGO0U4Qy82S007SUFDRTtFOUNpN0tSO0U4Qzk2S007SUFDRSxxQjFDMEhvQjtJMEN6SHBCO0U5Q2c3S1I7RThDOTZLUTtJQUNFO0lBQ0Esc0IxQ3FIa0I7RUoyeks1QjtBQUNGO0FlNStLSTtFK0JtQ0E7SUFDRTtFOUM0OEtKO0U4Q3o4S007SW5DMUJKO0lBWkE7RVhtL0tGO0U4Q3g4S007SW5DM0NKO0lBWUE7RVgyK0tGO0U4Q3Y4S007SUFDRTtFOUN5OEtSO0U4Q3Q4S007SUFDRSxxQjFDMEhvQjtJMEN6SHBCO0U5Q3c4S1I7RThDdDhLUTtJQUNFO0lBQ0Esc0IxQ3FIa0I7RUptMUs1QjtBQUNGO0E4QzM3S0E7RW5DbkhJO0FYaWpMSjtBOEMzN0tFO0VBQ0U7QTlDNjdLSjtBOEMzN0tJO0VBQ0U7QTlDNjdLTjs7QStDdGtMRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBOUNzN0szQztBTTlqTEU7RXlDUE0sY0QrSWtFO0VDOUlsRTtBL0N3a0xSO0ErQ3JrTE07RUFDRSxXM0NQRztFMkNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E5Qys3SzFFOztBK0NwbExFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E5Q284SzNDO0FNNWtMRTtFeUNQTSxjRCtJa0U7RUM5SWxFO0EvQ3NsTFI7QStDbmxMTTtFQUNFLFczQ1BHO0UyQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTlDNjhLMUU7O0ErQ2xtTEU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTlDazlLM0M7QU0xbExFO0V5Q1BNLGNEK0lrRTtFQzlJbEU7QS9Db21MUjtBK0NqbUxNO0VBQ0UsVzNDUEc7RTJDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBOUMyOUsxRTs7QStDaG5MRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBOUNnK0szQztBTXhtTEU7RXlDUE0sY0QrSWtFO0VDOUlsRTtBL0NrbkxSO0ErQy9tTE07RUFDRSxXM0NQRztFMkNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E5Q3krSzFFOztBK0M5bkxFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E5QzgrSzNDO0FNdG5MRTtFeUNQTSxjRCtJa0U7RUM5SWxFO0EvQ2dvTFI7QStDN25MTTtFQUNFLFczQ1BHO0UyQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTlDdS9LMUU7O0ErQzVvTEU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTlDNC9LM0M7QU1wb0xFO0V5Q1BNLGNEK0lrRTtFQzlJbEU7QS9DOG9MUjtBK0Mzb0xNO0VBQ0UsVzNDUEc7RTJDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBOUNxZ0wxRTs7QStDMXBMRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBOUMwZ0wzQztBTWxwTEU7RXlDUE0sY0QrSWtFO0VDOUlsRTtBL0M0cExSO0ErQ3pwTE07RUFDRSxXM0NQRztFMkNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E5Q21oTDFFOztBK0N4cUxFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E5Q3doTDNDO0FNaHFMRTtFeUNQTSxjRCtJa0U7RUM5SWxFO0EvQzBxTFI7QStDdnFMTTtFQUNFLFczQ1BHO0UyQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTlDaWlMMUU7O0FnRHpyTEE7RUFDRTtFM0NtTEk7RTJDakxKLGdCNUM4UjRCO0U0QzdSNUI7RUFDQSxXNUNZUztFNENYVCx5QjVDeWxDa0M7RTRDeGxDbEM7QWhENHJMRjtBTXZyTEU7RTBDREUsVzVDTU87RTRDTFA7QWhEMnJMSjtBTXZyTEU7RTBDQ0k7QWhEeXJMTjs7QWdEOXFMQTtFQUNFO0VBQ0E7RUFDQTtBaERpckxGOztBZ0QzcUxBO0VBQ0U7QWhEOHFMRjs7QWlEcHRMQTtFQUdFLGlCN0MyNEJrQztFNkMxNEJsQyxnQjdDMDRCa0M7RUMxdEI5QjtFNEM3S0osMkM3QzQ0QmtDO0U2QzM0QmxDO0VBQ0E7RUFDQSxnRDdDNjRCa0M7RTZDNTRCbEM7RXRDT0U7QVg4c0xKO0FpRGx0TEU7RUFDRSxzQjdDZzRCZ0M7QUpvMUpwQztBaURqdExFO0VBQ0U7QWpEbXRMSjtBaURodExFO0VBQ0U7RUFDQTtBakRrdExKO0FpRC9zTEU7RUFDRTtBakRpdExKOztBaUQ3c0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYzdDdkJTO0U2Q3dCVCwyQzdDcTNCa0M7RTZDcDNCbEM7RUFDQTtFdENaRTtFQUNBO0FYNnRMSjs7QWlEOXNMQTtFQUNFLGdCN0NtMkJrQztBSjgySnBDOztBa0R2dkxBO0VBRUU7QWxEeXZMRjtBa0R2dkxFO0VBQ0U7RUFDQTtBbER5dkxKOztBa0RwdkxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYTlDNHBCa0M7RThDM3BCbEM7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBbERxdkxGOztBa0Q5dUxBO0VBQ0U7RUFDQTtFQUNBLFloQzZMa0M7RWdDM0xsQztBbERndkxGO0FrRDd1TEU7RTdCM0JJLCtCNkI0QkY7RUFDQSw4QjlDdTZCZ0M7QUp3MEpwQztBcUJ4d0xNO0U2QnVCSjtJN0J0Qk07RXJCMndMTjtBQUNGO0FrRGx2TEU7RUFDRSxlOUNxNkJnQztBSiswSnBDO0FrRGh2TEU7RUFDRSxzQjlDazZCZ0M7QUpnMUpwQzs7QWtEOXVMQTtFQUNFO0VBQ0E7QWxEaXZMRjtBa0QvdUxFO0VBQ0U7RUFDQTtBbERpdkxKO0FrRDl1TEU7O0VBRUU7QWxEZ3ZMSjtBa0Q3dUxFO0VBQ0U7QWxEK3VMSjs7QWtEM3VMQTtFQUNFO0VBQ0E7RUFDQTtBbEQ4dUxGO0FrRDN1TEU7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0FsRDZ1TEo7QWtEenVMRTtFQUNFO0VBQ0E7RUFDQTtBbEQydUxKO0FrRHp1TEk7RUFDRTtBbEQydUxOO0FrRHh1TEk7RUFDRTtBbEQwdUxOOztBa0RwdUxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBLHlCaEM5RVc7RWdDK0VYO0VBQ0E7RXZDbEdFO0V1Q3NHRjtBbERtdUxGOztBa0QvdExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYTlDZ2pCa0M7RThDL2lCbEM7RUFDQTtFQUNBLHNCOUNsSFM7QUpvMUxYO0FrRC90TEU7RUFBUztBbERrdUxYO0FrRGp1TEU7RUFBUyxZaENvR3lCO0FsQmdvTHBDOztBa0QvdExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esa0I5QzZ6QmtDO0U4QzV6QmxDO0V2Q3RIRTtFQUNBO0FYeTFMSjtBa0RqdUxFO0VBQ0Usa0I5Q3d6QmdDO0U4Q3R6QmhDO0FsRGt1TEo7O0FrRDd0TEE7RUFDRTtFQUNBLGdCOUN1STRCO0FKeWxMOUI7O0FrRDN0TEE7RUFDRTtFQUdBO0VBQ0EsZWhDMERrQztBbEJrcUxwQzs7QWtEeHRMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdkN6SUU7RUFDQTtBWHEyTEo7QWtEdnRMRTtFQUNFO0FsRHl0TEo7O0FrRHB0TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHV0TEY7O0FlOTFMSTtFbUM2SUY7SUFDRSxnQmhDcURnQztJZ0NwRGhDO0VsRHF0TEY7RWtEbHRMQTtJQUNFO0VsRG90TEY7RWtEbHRMRTtJQUNFO0VsRG90TEo7RWtEaHRMQTtJQUNFO0VsRGt0TEY7RWtEaHRMRTtJQUNFO0lBQ0E7SUFBQTtFbERrdExKO0VrRDFzTEE7SUFBWSxnQmhDNkJzQjtFbEJnckxsQztBQUNGO0FlcjNMSTtFbUMyS0Y7O0lBRUUsY2hDcUJnQztFbEJ3ckxsQztBQUNGO0FlMzNMSTtFbUNrTEY7SUFBWSxpQjlDaXVCc0I7RUo0K0psQztBQUNGO0FtRDM3TEE7RUFDRTtFQUNBLGEvQ2dyQmtDO0UrQy9xQmxDO0VBQ0EsUy9DNjFCa0M7RWdEajJCbEMscU5oRG9SNEI7RWdEbFI1QjtFQUNBLGdCaEQ0UjRCO0VnRDNSNUIsZ0JoRGdTNEI7RWdEL1I1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0NxS0k7RThDektKO0VBQ0E7QW5EdThMRjtBbURyOExFO0VBQVMsWS9DaTFCeUI7QUp1bktwQztBbUR0OExFO0VBQ0U7RUFDQTtFQUNBLGEvQ2kxQmdDO0UrQ2gxQmhDLGMvQ2kxQmdDO0FKdW5LcEM7QW1EdDhMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuRHc4TE47O0FtRG44TEE7RUFDRTtBbkRzOExGO0FtRHA4TEU7RUFDRTtBbkRzOExKO0FtRHA4TEk7RUFDRTtFQUNBO0VBQ0EseUJqQ3FPUTtBbEJpdUxkOztBbURqOExBO0VBQ0U7QW5EbzhMRjtBbURsOExFO0VBQ0U7RUFDQSxhL0NtekJnQztFK0NsekJoQyxjL0NpekJnQztBSm1wS3BDO0FtRGw4TEk7RUFDRTtFQUNBO0VBQ0EsMkJqQ3FOUTtBbEIrdUxkOztBbUQvN0xBO0VBQ0U7QW5EazhMRjtBbURoOExFO0VBQ0U7QW5EazhMSjtBbURoOExJO0VBQ0U7RUFDQTtFQUNBLDRCakN1TVE7QWxCMnZMZDs7QW1ENzdMQTtFQUNFO0FuRGc4TEY7QW1EOTdMRTtFQUNFO0VBQ0EsYS9DcXhCZ0M7RStDcHhCaEMsYy9DbXhCZ0M7QUo2cUtwQztBbUQ5N0xJO0VBQ0U7RUFDQTtFQUNBLDBCakN1TFE7QWxCeXdMZDs7QW1EMzZMQTtFQUNFLGdCL0MrdUJrQztFK0M5dUJsQztFQUNBLFcvQ3ZHUztFK0N3R1Q7RUFDQSx5QmpDNkpZO0VQM1BWO0FYNmdNSjs7QXFEL2hNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFqRDhxQmtDO0VpRDdxQmxDO0VBQ0EsZ0JqRCsyQmtDO0VnRHAzQmxDLHFOaERvUjRCO0VnRGxSNUI7RUFDQSxnQmhENFI0QjtFZ0QzUjVCLGdCaERnUzRCO0VnRC9SNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9DcUtJO0VnRHhLSjtFQUNBLHlCbkMwUWlCO0VtQ3pRakI7RUFDQTtFMUNHRTtBWDBpTUo7QXFEemlNRTtFQUNFO0VBQ0E7RUFDQSxXakQrMkJnQztFaUQ5MkJoQyxjakQrMkJnQztFaUQ5MkJoQztBckQyaU1KO0FxRHppTUk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDBpTU47O0FxRHJpTUE7RUFDRSxxQmpEZzJCa0M7QUp3c0twQztBcUR0aU1FO0VBQ0U7QXJEd2lNSjtBcUR0aU1JO0VBQ0U7RUFDQTtFQUNBLHlCbkNQUztBbEIraU1mO0FxRHJpTUk7RUFDRSxXakQwTHdCO0VpRHpMeEI7RUFDQSx5Qm5DbU9hO0FsQm8wTG5COztBcURsaU1BO0VBQ0UsbUJqRDQwQmtDO0FKeXRLcEM7QXFEbmlNRTtFQUNFO0VBQ0EsYWpEdzBCZ0M7RWlEdjBCaEMsWWpEczBCZ0M7RWlEcjBCaEM7QXJEcWlNSjtBcURuaU1JO0VBQ0U7RUFDQTtFQUNBLDJCbkM5QlM7QWxCbWtNZjtBcURsaU1JO0VBQ0UsU2pEbUt3QjtFaURsS3hCO0VBQ0EsMkJuQzRNYTtBbEJ3MUxuQjs7QXFEL2hNQTtFQUNFLGtCakRxekJrQztBSjZ1S3BDO0FxRGhpTUU7RUFDRTtBckRraU1KO0FxRGhpTUk7RUFDRTtFQUNBO0VBQ0EsNEJuQ2xEUztBbEJvbE1mO0FxRC9oTUk7RUFDRSxRakQrSXdCO0VpRDlJeEI7RUFDQSw0Qm5Dd0xhO0FsQnkyTG5CO0FxRDVoTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdqRDR4QmdDO0VpRDN4QmhDO0VBQ0E7RUFDQTtBckQ4aE1KOztBcUQxaE1BO0VBQ0Usb0JqRHF4QmtDO0FKd3dLcEM7QXFEM2hNRTtFQUNFO0VBQ0EsYWpEaXhCZ0M7RWlEaHhCaEMsWWpEK3dCZ0M7RWlEOXdCaEM7QXJENmhNSjtBcUQzaE1JO0VBQ0U7RUFDQTtFQUNBLDBCbkNyRlM7QWxCa25NZjtBcUQxaE1JO0VBQ0UsVWpENEd3QjtFaUQzR3hCO0VBQ0EsMEJuQ3FKYTtBbEJ1NExuQjs7QXFEdGdNQTtFQUNFO0VBQ0E7RWhEMEJJO0VnRHZCSix5Qm5DMEhpQjtFbUN6SGpCO0UxQ25JRTtFQUNBO0FYNG9NSjtBcUR2Z01FO0VBQ0U7QXJEeWdNSjs7QXFEcmdNQTtFQUNFO0VBQ0EsY2pEeEpTO0FKZ3FNWDs7QXNEbnFNQTtFQUNFO0F0RHNxTUY7O0FzRG5xTUE7RUFDRTtBdERzcU1GOztBc0RucU1BO0VBQ0U7RUFDQTtFQUNBO0F0RHNxTUY7QXVEN3JNRTtFQUNFO0VBQ0E7RUFDQTtBdkQrck1KOztBc0R2cU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqQ2xCSSxzQ2lDbUJKO0F0RDBxTUY7QXFCenJNTTtFaUNRTjtJakNQUTtFckI0ck1OO0FBQ0Y7O0FzRDVxTUE7OztFQUdFO0F0RCtxTUY7O0FzRDVxTUE7O0VBRUU7QXREK3FNRjs7QXNENXFNQTs7RUFFRTtBdEQrcU1GOztBc0R0cU1FO0VBQ0U7RUFDQTtFQUNBO0F0RHlxTUo7QXNEdHFNRTs7O0VBR0U7RUFDQTtBdER3cU1KO0FzRHJxTUU7O0VBRUU7RUFDQTtFakM1REUsMkJpQzZERjtBdER1cU1KO0FxQmh1TU07RWlDcURKOztJakNwRE07RXJCb3VNTjtBQUNGOztBc0RwcU1BOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0EsVWxEczlCbUM7RWtEcjlCbkM7RUFDQSxXbEQzRlM7RWtENEZUO0VBQ0E7RUFDQTtFQUNBLFlsRGk5Qm1DO0VpQnZpQy9CLDhCaUN1Rko7QXREc3FNRjtBcUJ6dk1NO0VpQ2tFTjs7SWpDakVRO0VyQjZ2TU47QUFDRjtBTW53TUU7OztFZ0QyRkUsV2xEcEdPO0VrRHFHUDtFQUNBO0VBQ0EsWWxEMDhCaUM7QUptdUtyQzs7QXNEMXFNQTtFQUNFO0F0RDZxTUY7O0FzRHhxTUE7RUFDRTtBdEQycU1GOztBc0RwcU1BOztFQUVFO0VBQ0EsV2xEbThCbUM7RWtEbDhCbkMsWWxEazhCbUM7RWtEajhCbkM7QXREdXFNRjs7QXNEcnFNQTtFQUNFO0F0RHdxTUY7O0FzRHRxTUE7RUFDRTtBdER5cU1GOztBc0RocU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLGlCbER5NUJtQztFa0R4NUJuQyxnQmxEdzVCbUM7RWtEdjVCbkM7QXREa3FNRjtBc0RocU1FO0VBQ0U7RUFDQTtFQUNBLFdsRHU1QmlDO0VrRHQ1QmpDLFdsRHU1QmlDO0VrRHQ1QmpDLGlCbER3NUJpQztFa0R2NUJqQyxnQmxEdTVCaUM7RWtEdDVCakM7RUFDQTtFQUNBLHNCbERuS087RWtEb0tQO0VBRUE7RUFDQTtFQUNBO0VqQy9KRSw2QmlDZ0tGO0F0RGlxTUo7QXFCN3pNTTtFaUM2SUo7SWpDNUlNO0VyQmcwTU47QUFDRjtBc0RucU1FO0VBQ0U7QXREcXFNSjs7QXNENXBNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV2xEOUxTO0VrRCtMVDtBdEQrcE1GOztBd0RqMk1BO0VBQ0U7SUFBSztFeERxMk1MO0FBQ0Y7QXdEbjJNQTtFQUNFO0VBQ0EsV3BEc2tDd0I7RW9EcmtDeEIsWXBEcWtDd0I7RW9EcGtDeEIsd0JwRHNrQ3dCO0VvRHJrQ3hCO0VBQ0E7RUFFQTtFQUNBO0F4RG8yTUY7O0F3RGoyTUE7RUFDRSxXcERna0N3QjtFb0QvakN4QixZcEQrakN3QjtFb0Q5akN4QixtQnBEZ2tDd0I7QUpveUsxQjs7QXdENzFNQTtFQUNFO0lBQ0U7RXhEZzJNRjtFd0Q5MU1BO0lBQ0U7SUFDQTtFeERnMk1GO0FBQ0Y7QXdENzFNQTtFQUNFO0VBQ0EsV3BEc2lDd0I7RW9EcmlDeEIsWXBEcWlDd0I7RW9EcGlDeEIsd0JwRHNpQ3dCO0VvRHJpQ3hCO0VBRUE7RUFDQTtFQUNBO0F4RDgxTUY7O0F3RDMxTUE7RUFDRSxXcERnaUN3QjtFb0QvaEN4QixZcEQraEN3QjtBSit6SzFCOztBd0QxMU1FO0VBQ0U7O0lBRUU7RXhENjFNSjtBQUNGO0F5RHo1TUE7RUFBcUI7QXpENDVNckI7O0F5RDM1TUE7RUFBcUI7QXpEKzVNckI7O0F5RDk1TUE7RUFBcUI7QXpEazZNckI7O0F5RGo2TUE7RUFBcUI7QXpEcTZNckI7O0F5RHA2TUE7RUFBcUI7QXpEdzZNckI7O0F5RHY2TUE7RUFBcUI7QXpEMjZNckI7O0EwRDc2TUU7RUFDRTtBMURnN01KOztBTXQ2TUU7OztFb0RMSTtBMURpN01OOztBMER2N01FO0VBQ0U7QTFEMDdNSjs7QU1oN01FOzs7RW9ETEk7QTFEMjdNTjs7QTBEajhNRTtFQUNFO0ExRG84TUo7O0FNMTdNRTs7O0VvRExJO0ExRHE4TU47O0EwRDM4TUU7RUFDRTtBMUQ4OE1KOztBTXA4TUU7OztFb0RMSTtBMUQrOE1OOztBMERyOU1FO0VBQ0U7QTFEdzlNSjs7QU05OE1FOzs7RW9ETEk7QTFEeTlNTjs7QTBELzlNRTtFQUNFO0ExRGsrTUo7O0FNeDlNRTs7O0VvRExJO0ExRG0rTU47O0EwRHorTUU7RUFDRTtBMUQ0K01KOztBTWwrTUU7OztFb0RMSTtBMUQ2K01OOztBMERuL01FO0VBQ0U7QTFEcy9NSjs7QU01K01FOzs7RW9ETEk7QTFEdS9NTjs7QTJEdC9NQTtFQUNFO0EzRHkvTUY7O0EyRHQvTUE7RUFDRTtBM0R5L01GOztBNERwZ05BO0VBQWtCO0E1RHdnTmxCOztBNER2Z05BO0VBQWtCO0E1RDJnTmxCOztBNEQxZ05BO0VBQWtCO0E1RDhnTmxCOztBNEQ3Z05BO0VBQWtCO0E1RGloTmxCOztBNERoaE5BO0VBQWtCO0E1RG9oTmxCOztBNERsaE5BO0VBQW1CO0E1RHNoTm5COztBNERyaE5BO0VBQW1CO0E1RHloTm5COztBNER4aE5BO0VBQW1CO0E1RDRoTm5COztBNEQzaE5BO0VBQW1CO0E1RCtoTm5COztBNEQ5aE5BO0VBQW1CO0E1RGtpTm5COztBNEQvaE5FO0VBQ0U7QTVEa2lOSjs7QTREbmlORTtFQUNFO0E1RHNpTko7O0E0RHZpTkU7RUFDRTtBNUQwaU5KOztBNEQzaU5FO0VBQ0U7QTVEOGlOSjs7QTREL2lORTtFQUNFO0E1RGtqTko7O0E0RG5qTkU7RUFDRTtBNURzak5KOztBNER2ak5FO0VBQ0U7QTVEMGpOSjs7QTREM2pORTtFQUNFO0E1RDhqTko7O0E0RDFqTkE7RUFDRTtBNUQ2ak5GOztBNER0ak5BO0VBQ0U7QTVEeWpORjs7QTREdGpOQTtFQUNFO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtFQUNBO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtFQUNBO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtFQUNBO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtFQUNBO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtBNUR5ak5GOztBNER0ak5BO0VBQ0U7QTVEeWpORjs7QTREdGpOQTtFQUNFO0E1RHlqTkY7O0E0RHRqTkE7RUFDRTtBNUR5ak5GOztBdURqb05FO0VBQ0U7RUFDQTtFQUNBO0F2RG9vTko7O0E2RDduTk07RUFBd0I7QTdEaW9OOUI7O0E2RGpvTk07RUFBd0I7QTdEcW9OOUI7O0E2RHJvTk07RUFBd0I7QTdEeW9OOUI7O0E2RHpvTk07RUFBd0I7QTdENm9OOUI7O0E2RDdvTk07RUFBd0I7QTdEaXBOOUI7O0E2RGpwTk07RUFBd0I7QTdEcXBOOUI7O0E2RHJwTk07RUFBd0I7QTdEeXBOOUI7O0E2RHpwTk07RUFBd0I7QTdENnBOOUI7O0E2RDdwTk07RUFBd0I7QTdEaXFOOUI7O0FlaG5OSTtFOENqREU7SUFBd0I7RTdEc3FONUI7RTZEdHFOSTtJQUF3QjtFN0R5cU41QjtFNkR6cU5JO0lBQXdCO0U3RDRxTjVCO0U2RDVxTkk7SUFBd0I7RTdEK3FONUI7RTZEL3FOSTtJQUF3QjtFN0Rrck41QjtFNkRsck5JO0lBQXdCO0U3RHFyTjVCO0U2RHJyTkk7SUFBd0I7RTdEd3JONUI7RTZEeHJOSTtJQUF3QjtFN0Qyck41QjtFNkQzck5JO0lBQXdCO0U3RDhyTjVCO0FBQ0Y7QWU5b05JO0U4Q2pERTtJQUF3QjtFN0Rtc041QjtFNkRuc05JO0lBQXdCO0U3RHNzTjVCO0U2RHRzTkk7SUFBd0I7RTdEeXNONUI7RTZEenNOSTtJQUF3QjtFN0Q0c041QjtFNkQ1c05JO0lBQXdCO0U3RCtzTjVCO0U2RC9zTkk7SUFBd0I7RTdEa3RONUI7RTZEbHROSTtJQUF3QjtFN0RxdE41QjtFNkRydE5JO0lBQXdCO0U3RHd0TjVCO0U2RHh0Tkk7SUFBd0I7RTdEMnRONUI7QUFDRjtBZTNxTkk7RThDakRFO0lBQXdCO0U3RGd1TjVCO0U2RGh1Tkk7SUFBd0I7RTdEbXVONUI7RTZEbnVOSTtJQUF3QjtFN0RzdU41QjtFNkR0dU5JO0lBQXdCO0U3RHl1TjVCO0U2RHp1Tkk7SUFBd0I7RTdENHVONUI7RTZENXVOSTtJQUF3QjtFN0QrdU41QjtFNkQvdU5JO0lBQXdCO0U3RGt2TjVCO0U2RGx2Tkk7SUFBd0I7RTdEcXZONUI7RTZEcnZOSTtJQUF3QjtFN0R3dk41QjtBQUNGO0FleHNOSTtFOENqREU7SUFBd0I7RTdENnZONUI7RTZEN3ZOSTtJQUF3QjtFN0Rnd041QjtFNkRod05JO0lBQXdCO0U3RG13TjVCO0U2RG53Tkk7SUFBd0I7RTdEc3dONUI7RTZEdHdOSTtJQUF3QjtFN0R5d041QjtFNkR6d05JO0lBQXdCO0U3RDR3TjVCO0U2RDV3Tkk7SUFBd0I7RTdEK3dONUI7RTZEL3dOSTtJQUF3QjtFN0RreE41QjtFNkRseE5JO0lBQXdCO0U3RHF4TjVCO0FBQ0Y7QTZENXdOQTtFQUVJO0lBQXFCO0U3RDh3TnZCO0U2RDl3TkU7SUFBcUI7RTdEaXhOdkI7RTZEanhORTtJQUFxQjtFN0RveE52QjtFNkRweE5FO0lBQXFCO0U3RHV4TnZCO0U2RHZ4TkU7SUFBcUI7RTdEMHhOdkI7RTZEMXhORTtJQUFxQjtFN0Q2eE52QjtFNkQ3eE5FO0lBQXFCO0U3RGd5TnZCO0U2RGh5TkU7SUFBcUI7RTdEbXlOdkI7RTZEbnlORTtJQUFxQjtFN0RzeU52QjtBQUNGO0E4RDV6TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDh6TkY7QThENXpORTtFQUNFO0VBQ0E7QTlEOHpOSjtBOEQzek5FOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDZ6Tko7O0E4RHB6Tkk7RUFDRTtBOUR1ek5OOztBOER4ek5JO0VBQ0U7QTlEMnpOTjs7QThENXpOSTtFQUNFO0E5RCt6Tk47O0E4RGgwTkk7RUFDRTtBOURtME5OOztBOERwME5JO0VBQ0U7QTlEdTBOTjs7QThEeDBOSTtFQUNFO0E5RDIwTk47O0E4RDUwTkk7RUFDRTtBOUQrME5OOztBOERoMU5JO0VBQ0U7QTlEbTFOTjs7QStENTJOSTtFQUFnQztBL0RnM05wQzs7QStELzJOSTtFQUFnQztBL0RtM05wQzs7QStEbDNOSTtFQUFnQztBL0RzM05wQzs7QStEcjNOSTtFQUFnQztBL0R5M05wQzs7QStEdjNOSTtFQUE4QjtBL0QyM05sQzs7QStEMTNOSTtFQUE4QjtBL0Q4M05sQzs7QStENzNOSTtFQUE4QjtBL0RpNE5sQzs7QStEaDROSTtFQUE4QjtBL0RvNE5sQzs7QStEbjROSTtFQUE4QjtBL0R1NE5sQzs7QStEdDROSTtFQUE4QjtBL0QwNE5sQzs7QStEejROSTtFQUE4QjtBL0Q2NE5sQzs7QStENTROSTtFQUE4QjtBL0RnNU5sQzs7QStEOTROSTtFQUFvQztBL0RrNU54Qzs7QStEajVOSTtFQUFvQztBL0RxNU54Qzs7QStEcDVOSTtFQUFvQztBL0R3NU54Qzs7QStEdjVOSTtFQUFvQztBL0QyNU54Qzs7QStEMTVOSTtFQUFvQztBL0Q4NU54Qzs7QStENTVOSTtFQUFpQztBL0RnNk5yQzs7QStELzVOSTtFQUFpQztBL0RtNk5yQzs7QStEbDZOSTtFQUFpQztBL0RzNk5yQzs7QStEcjZOSTtFQUFpQztBL0R5Nk5yQzs7QStEeDZOSTtFQUFpQztBL0Q0Nk5yQzs7QStEMTZOSTtFQUFrQztBL0Q4Nk50Qzs7QStENzZOSTtFQUFrQztBL0RpN050Qzs7QStEaDdOSTtFQUFrQztBL0RvN050Qzs7QStEbjdOSTtFQUFrQztBL0R1N050Qzs7QStEdDdOSTtFQUFrQztBL0QwN050Qzs7QStEejdOSTtFQUFrQztBL0Q2N050Qzs7QStEMzdOSTtFQUFnQztBL0QrN05wQzs7QStEOTdOSTtFQUFnQztBL0RrOE5wQzs7QStEajhOSTtFQUFnQztBL0RxOE5wQzs7QStEcDhOSTtFQUFnQztBL0R3OE5wQzs7QStEdjhOSTtFQUFnQztBL0QyOE5wQzs7QStEMThOSTtFQUFnQztBL0Q4OE5wQzs7QWVsOE5JO0VnRGxEQTtJQUFnQztFL0R5L05sQztFK0R4L05FO0lBQWdDO0UvRDIvTmxDO0UrRDEvTkU7SUFBZ0M7RS9ENi9ObEM7RStENS9ORTtJQUFnQztFL0QrL05sQztFK0Q3L05FO0lBQThCO0UvRGdnT2hDO0UrRC8vTkU7SUFBOEI7RS9Ea2dPaEM7RStEamdPRTtJQUE4QjtFL0RvZ09oQztFK0RuZ09FO0lBQThCO0UvRHNnT2hDO0UrRHJnT0U7SUFBOEI7RS9Ed2dPaEM7RStEdmdPRTtJQUE4QjtFL0QwZ09oQztFK0R6Z09FO0lBQThCO0UvRDRnT2hDO0UrRDNnT0U7SUFBOEI7RS9EOGdPaEM7RStENWdPRTtJQUFvQztFL0QrZ090QztFK0Q5Z09FO0lBQW9DO0UvRGloT3RDO0UrRGhoT0U7SUFBb0M7RS9EbWhPdEM7RStEbGhPRTtJQUFvQztFL0RxaE90QztFK0RwaE9FO0lBQW9DO0UvRHVoT3RDO0UrRHJoT0U7SUFBaUM7RS9Ed2hPbkM7RStEdmhPRTtJQUFpQztFL0QwaE9uQztFK0R6aE9FO0lBQWlDO0UvRDRoT25DO0UrRDNoT0U7SUFBaUM7RS9EOGhPbkM7RStEN2hPRTtJQUFpQztFL0RnaU9uQztFK0Q5aE9FO0lBQWtDO0UvRGlpT3BDO0UrRGhpT0U7SUFBa0M7RS9EbWlPcEM7RStEbGlPRTtJQUFrQztFL0RxaU9wQztFK0RwaU9FO0lBQWtDO0UvRHVpT3BDO0UrRHRpT0U7SUFBa0M7RS9EeWlPcEM7RStEeGlPRTtJQUFrQztFL0QyaU9wQztFK0R6aU9FO0lBQWdDO0UvRDRpT2xDO0UrRDNpT0U7SUFBZ0M7RS9EOGlPbEM7RStEN2lPRTtJQUFnQztFL0Rnak9sQztFK0QvaU9FO0lBQWdDO0UvRGtqT2xDO0UrRGpqT0U7SUFBZ0M7RS9Eb2pPbEM7RStEbmpPRTtJQUFnQztFL0Rzak9sQztBQUNGO0FlM2lPSTtFZ0RsREE7SUFBZ0M7RS9EaW1PbEM7RStEaG1PRTtJQUFnQztFL0RtbU9sQztFK0RsbU9FO0lBQWdDO0UvRHFtT2xDO0UrRHBtT0U7SUFBZ0M7RS9EdW1PbEM7RStEcm1PRTtJQUE4QjtFL0R3bU9oQztFK0R2bU9FO0lBQThCO0UvRDBtT2hDO0UrRHptT0U7SUFBOEI7RS9ENG1PaEM7RStEM21PRTtJQUE4QjtFL0Q4bU9oQztFK0Q3bU9FO0lBQThCO0UvRGduT2hDO0UrRC9tT0U7SUFBOEI7RS9Ea25PaEM7RStEam5PRTtJQUE4QjtFL0Rvbk9oQztFK0Rubk9FO0lBQThCO0UvRHNuT2hDO0UrRHBuT0U7SUFBb0M7RS9EdW5PdEM7RStEdG5PRTtJQUFvQztFL0R5bk90QztFK0R4bk9FO0lBQW9DO0UvRDJuT3RDO0UrRDFuT0U7SUFBb0M7RS9ENm5PdEM7RStENW5PRTtJQUFvQztFL0Qrbk90QztFK0Q3bk9FO0lBQWlDO0UvRGdvT25DO0UrRC9uT0U7SUFBaUM7RS9Ea29PbkM7RStEam9PRTtJQUFpQztFL0Rvb09uQztFK0Rub09FO0lBQWlDO0UvRHNvT25DO0UrRHJvT0U7SUFBaUM7RS9Ed29PbkM7RStEdG9PRTtJQUFrQztFL0R5b09wQztFK0R4b09FO0lBQWtDO0UvRDJvT3BDO0UrRDFvT0U7SUFBa0M7RS9ENm9PcEM7RStENW9PRTtJQUFrQztFL0Qrb09wQztFK0Q5b09FO0lBQWtDO0UvRGlwT3BDO0UrRGhwT0U7SUFBa0M7RS9EbXBPcEM7RStEanBPRTtJQUFnQztFL0RvcE9sQztFK0RucE9FO0lBQWdDO0UvRHNwT2xDO0UrRHJwT0U7SUFBZ0M7RS9Ed3BPbEM7RStEdnBPRTtJQUFnQztFL0QwcE9sQztFK0R6cE9FO0lBQWdDO0UvRDRwT2xDO0UrRDNwT0U7SUFBZ0M7RS9EOHBPbEM7QUFDRjtBZW5wT0k7RWdEbERBO0lBQWdDO0UvRHlzT2xDO0UrRHhzT0U7SUFBZ0M7RS9EMnNPbEM7RStEMXNPRTtJQUFnQztFL0Q2c09sQztFK0Q1c09FO0lBQWdDO0UvRCtzT2xDO0UrRDdzT0U7SUFBOEI7RS9EZ3RPaEM7RStEL3NPRTtJQUE4QjtFL0RrdE9oQztFK0RqdE9FO0lBQThCO0UvRG90T2hDO0UrRG50T0U7SUFBOEI7RS9Ec3RPaEM7RStEcnRPRTtJQUE4QjtFL0R3dE9oQztFK0R2dE9FO0lBQThCO0UvRDB0T2hDO0UrRHp0T0U7SUFBOEI7RS9ENHRPaEM7RStEM3RPRTtJQUE4QjtFL0Q4dE9oQztFK0Q1dE9FO0lBQW9DO0UvRCt0T3RDO0UrRDl0T0U7SUFBb0M7RS9EaXVPdEM7RStEaHVPRTtJQUFvQztFL0RtdU90QztFK0RsdU9FO0lBQW9DO0UvRHF1T3RDO0UrRHB1T0U7SUFBb0M7RS9EdXVPdEM7RStEcnVPRTtJQUFpQztFL0R3dU9uQztFK0R2dU9FO0lBQWlDO0UvRDB1T25DO0UrRHp1T0U7SUFBaUM7RS9ENHVPbkM7RStEM3VPRTtJQUFpQztFL0Q4dU9uQztFK0Q3dU9FO0lBQWlDO0UvRGd2T25DO0UrRDl1T0U7SUFBa0M7RS9EaXZPcEM7RStEaHZPRTtJQUFrQztFL0Rtdk9wQztFK0Rsdk9FO0lBQWtDO0UvRHF2T3BDO0UrRHB2T0U7SUFBa0M7RS9EdXZPcEM7RStEdHZPRTtJQUFrQztFL0R5dk9wQztFK0R4dk9FO0lBQWtDO0UvRDJ2T3BDO0UrRHp2T0U7SUFBZ0M7RS9ENHZPbEM7RStEM3ZPRTtJQUFnQztFL0Q4dk9sQztFK0Q3dk9FO0lBQWdDO0UvRGd3T2xDO0UrRC92T0U7SUFBZ0M7RS9Ea3dPbEM7RStEandPRTtJQUFnQztFL0Rvd09sQztFK0Rud09FO0lBQWdDO0UvRHN3T2xDO0FBQ0Y7QWUzdk9JO0VnRGxEQTtJQUFnQztFL0Rpek9sQztFK0Roek9FO0lBQWdDO0UvRG16T2xDO0UrRGx6T0U7SUFBZ0M7RS9EcXpPbEM7RStEcHpPRTtJQUFnQztFL0R1ek9sQztFK0Ryek9FO0lBQThCO0UvRHd6T2hDO0UrRHZ6T0U7SUFBOEI7RS9EMHpPaEM7RStEenpPRTtJQUE4QjtFL0Q0ek9oQztFK0Qzek9FO0lBQThCO0UvRDh6T2hDO0UrRDd6T0U7SUFBOEI7RS9EZzBPaEM7RStEL3pPRTtJQUE4QjtFL0RrME9oQztFK0RqME9FO0lBQThCO0UvRG8wT2hDO0UrRG4wT0U7SUFBOEI7RS9EczBPaEM7RStEcDBPRTtJQUFvQztFL0R1ME90QztFK0R0ME9FO0lBQW9DO0UvRHkwT3RDO0UrRHgwT0U7SUFBb0M7RS9EMjBPdEM7RStEMTBPRTtJQUFvQztFL0Q2ME90QztFK0Q1ME9FO0lBQW9DO0UvRCswT3RDO0UrRDcwT0U7SUFBaUM7RS9EZzFPbkM7RStELzBPRTtJQUFpQztFL0RrMU9uQztFK0RqMU9FO0lBQWlDO0UvRG8xT25DO0UrRG4xT0U7SUFBaUM7RS9EczFPbkM7RStEcjFPRTtJQUFpQztFL0R3MU9uQztFK0R0MU9FO0lBQWtDO0UvRHkxT3BDO0UrRHgxT0U7SUFBa0M7RS9EMjFPcEM7RStEMTFPRTtJQUFrQztFL0Q2MU9wQztFK0Q1MU9FO0lBQWtDO0UvRCsxT3BDO0UrRDkxT0U7SUFBa0M7RS9EaTJPcEM7RStEaDJPRTtJQUFrQztFL0RtMk9wQztFK0RqMk9FO0lBQWdDO0UvRG8yT2xDO0UrRG4yT0U7SUFBZ0M7RS9EczJPbEM7RStEcjJPRTtJQUFnQztFL0R3Mk9sQztFK0R2Mk9FO0lBQWdDO0UvRDAyT2xDO0UrRHoyT0U7SUFBZ0M7RS9ENDJPbEM7RStEMzJPRTtJQUFnQztFL0Q4Mk9sQztBQUNGO0FnRXo1T0k7RUFBd0I7QWhFNDVPNUI7O0FnRTM1T0k7RUFBd0I7QWhFKzVPNUI7O0FnRTk1T0k7RUFBd0I7QWhFazZPNUI7O0FlOTJPSTtFaUR0REE7SUFBd0I7RWhFeTZPMUI7RWdFeDZPRTtJQUF3QjtFaEUyNk8xQjtFZ0UxNk9FO0lBQXdCO0VoRTY2TzFCO0FBQ0Y7QWUxM09JO0VpRHREQTtJQUF3QjtFaEVvN08xQjtFZ0VuN09FO0lBQXdCO0VoRXM3TzFCO0VnRXI3T0U7SUFBd0I7RWhFdzdPMUI7QUFDRjtBZXI0T0k7RWlEdERBO0lBQXdCO0VoRSs3TzFCO0VnRTk3T0U7SUFBd0I7RWhFaThPMUI7RWdFaDhPRTtJQUF3QjtFaEVtOE8xQjtBQUNGO0FlaDVPSTtFaUR0REE7SUFBd0I7RWhFMDhPMUI7RWdFejhPRTtJQUF3QjtFaEU0OE8xQjtFZ0UzOE9FO0lBQXdCO0VoRTg4TzFCO0FBQ0Y7QWlFcDlPRTtFQUF5QjtLQUFBO1VBQUE7QWpFdTlPM0I7O0FpRXY5T0U7RUFBeUI7S0FBQTtVQUFBO0FqRTI5TzNCOztBaUUzOU9FO0VBQXlCO0tBQUE7VUFBQTtBakUrOU8zQjs7QWtFLzlPRTtFQUFzQjtBbEVtK094Qjs7QWtFbitPRTtFQUFzQjtBbEV1K094Qjs7QW1FdCtPRTtFQUF5QjtBbkUwK08zQjs7QW1FMStPRTtFQUF5QjtBbkU4K08zQjs7QW1FOStPRTtFQUF5QjtBbkVrL08zQjs7QW1FbC9PRTtFQUF5QjtBbkVzL08zQjs7QW1FdC9PRTtFQUF5QjtBbkUwL08zQjs7QW1Fci9PQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYS9EaXFCa0M7QUp1MU5wQzs7QW1Fci9PQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYS9EeXBCa0M7QUorMU5wQzs7QW1FcC9PRTtFQURGO0lBRUk7SUFDQTtJQUNBLGEvRGlwQmdDO0VKdTJObEM7QUFDRjs7QW9FbGhQQTtFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckVvaFBGOztBcUUxZ1BFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRTRnUEo7O0FzRXppUEE7RUFBYTtBdEU2aVBiOztBc0U1aVBBO0VBQVU7QXRFZ2pQVjs7QXNFL2lQQTtFQUFhO0F0RW1qUGI7O0FzRWxqUEE7RUFBZTtBdEVzalBmOztBdUVyalBJO0VBQXVCO0F2RXlqUDNCOztBdUV6alBJO0VBQXVCO0F2RTZqUDNCOztBdUU3alBJO0VBQXVCO0F2RWlrUDNCOztBdUVqa1BJO0VBQXVCO0F2RXFrUDNCOztBdUVya1BJO0VBQXVCO0F2RXlrUDNCOztBdUV6a1BJO0VBQXVCO0F2RTZrUDNCOztBdUU3a1BJO0VBQXVCO0F2RWlsUDNCOztBdUVqbFBJO0VBQXVCO0F2RXFsUDNCOztBdUVybFBJO0VBQXVCO0F2RXlsUDNCOztBdUV6bFBJO0VBQXVCO0F2RTZsUDNCOztBdUV6bFBBO0VBQVU7QXZFNmxQVjs7QXVFNWxQQTtFQUFVO0F2RWdtUFY7O0F1RTVsUEE7RUFBYztBdkVnbVBkOztBdUUvbFBBO0VBQWM7QXZFbW1QZDs7QXVFam1QQTtFQUFVO0F2RXFtUFY7O0F1RXBtUEE7RUFBVTtBdkV3bVBWOztBd0VqblBRO0VBQWdDO0F4RXFuUHhDOztBd0VwblBROztFQUVFO0F4RXVuUFY7O0F3RXJuUFE7O0VBRUU7QXhFd25QVjs7QXdFdG5QUTs7RUFFRTtBeEV5blBWOztBd0V2blBROztFQUVFO0F4RTBuUFY7O0F3RXpvUFE7RUFBZ0M7QXhFNm9QeEM7O0F3RTVvUFE7O0VBRUU7QXhFK29QVjs7QXdFN29QUTs7RUFFRTtBeEVncFBWOztBd0U5b1BROztFQUVFO0F4RWlwUFY7O0F3RS9vUFE7O0VBRUU7QXhFa3BQVjs7QXdFanFQUTtFQUFnQztBeEVxcVB4Qzs7QXdFcHFQUTs7RUFFRTtBeEV1cVBWOztBd0VycVBROztFQUVFO0F4RXdxUFY7O0F3RXRxUFE7O0VBRUU7QXhFeXFQVjs7QXdFdnFQUTs7RUFFRTtBeEUwcVBWOztBd0V6clBRO0VBQWdDO0F4RTZyUHhDOztBd0U1clBROztFQUVFO0F4RStyUFY7O0F3RTdyUFE7O0VBRUU7QXhFZ3NQVjs7QXdFOXJQUTs7RUFFRTtBeEVpc1BWOztBd0UvclBROztFQUVFO0F4RWtzUFY7O0F3RWp0UFE7RUFBZ0M7QXhFcXRQeEM7O0F3RXB0UFE7O0VBRUU7QXhFdXRQVjs7QXdFcnRQUTs7RUFFRTtBeEV3dFBWOztBd0V0dFBROztFQUVFO0F4RXl0UFY7O0F3RXZ0UFE7O0VBRUU7QXhFMHRQVjs7QXdFenVQUTtFQUFnQztBeEU2dVB4Qzs7QXdFNXVQUTs7RUFFRTtBeEUrdVBWOztBd0U3dVBROztFQUVFO0F4RWd2UFY7O0F3RTl1UFE7O0VBRUU7QXhFaXZQVjs7QXdFL3VQUTs7RUFFRTtBeEVrdlBWOztBd0Vqd1BRO0VBQWdDO0F4RXF3UHhDOztBd0Vwd1BROztFQUVFO0F4RXV3UFY7O0F3RXJ3UFE7O0VBRUU7QXhFd3dQVjs7QXdFdHdQUTs7RUFFRTtBeEV5d1BWOztBd0V2d1BROztFQUVFO0F4RTB3UFY7O0F3RXp4UFE7RUFBZ0M7QXhFNnhQeEM7O0F3RTV4UFE7O0VBRUU7QXhFK3hQVjs7QXdFN3hQUTs7RUFFRTtBeEVneVBWOztBd0U5eFBROztFQUVFO0F4RWl5UFY7O0F3RS94UFE7O0VBRUU7QXhFa3lQVjs7QXdFanpQUTtFQUFnQztBeEVxelB4Qzs7QXdFcHpQUTs7RUFFRTtBeEV1elBWOztBd0VyelBROzs7RUFFRTtBeEV5elBWOztBd0V2elBROztFQUVFO0F4RTB6UFY7O0F3RXh6UFE7OztFQUVFO0F4RTR6UFY7O0F3RTMwUFE7RUFBZ0M7QXhFKzBQeEM7O0F3RTkwUFE7O0VBRUU7QXhFaTFQVjs7QXdFLzBQUTs7RUFFRTtBeEVrMVBWOztBd0VoMVBROztFQUVFO0F4RW0xUFY7O0F3RWoxUFE7O0VBRUU7QXhFbzFQVjs7QXdFbjJQUTtFQUFnQztBeEV1MlB4Qzs7QXdFdDJQUTs7RUFFRTtBeEV5MlBWOztBd0V2MlBROztFQUVFO0F4RTAyUFY7O0F3RXgyUFE7O0VBRUU7QXhFMjJQVjs7QXdFejJQUTs7RUFFRTtBeEU0MlBWOztBd0UzM1BRO0VBQWdDO0F4RSszUHhDOztBd0U5M1BROztFQUVFO0F4RWk0UFY7O0F3RS8zUFE7O0VBRUU7QXhFazRQVjs7QXdFaDRQUTs7RUFFRTtBeEVtNFBWOztBd0VqNFBROztFQUVFO0F4RW80UFY7O0F3RTUzUFE7RUFBd0I7QXhFZzRQaEM7O0F3RS8zUFE7O0VBRUU7QXhFazRQVjs7QXdFaDRQUTs7RUFFRTtBeEVtNFBWOztBd0VqNFBROztFQUVFO0F4RW80UFY7O0F3RWw0UFE7O0VBRUU7QXhFcTRQVjs7QXdFcDVQUTtFQUF3QjtBeEV3NVBoQzs7QXdFdjVQUTs7RUFFRTtBeEUwNVBWOztBd0V4NVBROztFQUVFO0F4RTI1UFY7O0F3RXo1UFE7O0VBRUU7QXhFNDVQVjs7QXdFMTVQUTs7RUFFRTtBeEU2NVBWOztBd0U1NlBRO0VBQXdCO0F4RWc3UGhDOztBd0UvNlBROztFQUVFO0F4RWs3UFY7O0F3RWg3UFE7O0VBRUU7QXhFbTdQVjs7QXdFajdQUTs7RUFFRTtBeEVvN1BWOztBd0VsN1BROztFQUVFO0F4RXE3UFY7O0F3RXA4UFE7RUFBd0I7QXhFdzhQaEM7O0F3RXY4UFE7O0VBRUU7QXhFMDhQVjs7QXdFeDhQUTs7RUFFRTtBeEUyOFBWOztBd0V6OFBROztFQUVFO0F4RTQ4UFY7O0F3RTE4UFE7O0VBRUU7QXhFNjhQVjs7QXdFNTlQUTtFQUF3QjtBeEVnK1BoQzs7QXdFLzlQUTs7RUFFRTtBeEVrK1BWOztBd0VoK1BROztFQUVFO0F4RW0rUFY7O0F3RWorUFE7O0VBRUU7QXhFbytQVjs7QXdFbCtQUTs7RUFFRTtBeEVxK1BWOztBd0UvOVBJO0VBQW1CO0F4RW0rUHZCOztBd0VsK1BJOztFQUVFO0F4RXErUE47O0F3RW4rUEk7O0VBRUU7QXhFcytQTjs7QXdFcCtQSTs7RUFFRTtBeEV1K1BOOztBd0VyK1BJOztFQUVFO0F4RXcrUE47O0Flai9QSTtFeURsREk7SUFBZ0M7RXhFd2lRdEM7RXdFdmlRTTs7SUFFRTtFeEV5aVFSO0V3RXZpUU07O0lBRUU7RXhFeWlRUjtFd0V2aVFNOztJQUVFO0V4RXlpUVI7RXdFdmlRTTs7SUFFRTtFeEV5aVFSO0V3RXhqUU07SUFBZ0M7RXhFMmpRdEM7RXdFMWpRTTs7SUFFRTtFeEU0alFSO0V3RTFqUU07O0lBRUU7RXhFNGpRUjtFd0UxalFNOztJQUVFO0V4RTRqUVI7RXdFMWpRTTs7SUFFRTtFeEU0alFSO0V3RTNrUU07SUFBZ0M7RXhFOGtRdEM7RXdFN2tRTTs7SUFFRTtFeEUra1FSO0V3RTdrUU07O0lBRUU7RXhFK2tRUjtFd0U3a1FNOztJQUVFO0V4RStrUVI7RXdFN2tRTTs7SUFFRTtFeEUra1FSO0V3RTlsUU07SUFBZ0M7RXhFaW1RdEM7RXdFaG1RTTs7SUFFRTtFeEVrbVFSO0V3RWhtUU07O0lBRUU7RXhFa21RUjtFd0VobVFNOztJQUVFO0V4RWttUVI7RXdFaG1RTTs7SUFFRTtFeEVrbVFSO0V3RWpuUU07SUFBZ0M7RXhFb25RdEM7RXdFbm5RTTs7SUFFRTtFeEVxblFSO0V3RW5uUU07O0lBRUU7RXhFcW5RUjtFd0VublFNOztJQUVFO0V4RXFuUVI7RXdFbm5RTTs7SUFFRTtFeEVxblFSO0V3RXBvUU07SUFBZ0M7RXhFdW9RdEM7RXdFdG9RTTs7SUFFRTtFeEV3b1FSO0V3RXRvUU07O0lBRUU7RXhFd29RUjtFd0V0b1FNOztJQUVFO0V4RXdvUVI7RXdFdG9RTTs7SUFFRTtFeEV3b1FSO0V3RXZwUU07SUFBZ0M7RXhFMHBRdEM7RXdFenBRTTs7SUFFRTtFeEUycFFSO0V3RXpwUU07O0lBRUU7RXhFMnBRUjtFd0V6cFFNOztJQUVFO0V4RTJwUVI7RXdFenBRTTs7SUFFRTtFeEUycFFSO0V3RTFxUU07SUFBZ0M7RXhFNnFRdEM7RXdFNXFRTTs7SUFFRTtFeEU4cVFSO0V3RTVxUU07O0lBRUU7RXhFOHFRUjtFd0U1cVFNOztJQUVFO0V4RThxUVI7RXdFNXFRTTs7SUFFRTtFeEU4cVFSO0V3RTdyUU07SUFBZ0M7RXhFZ3NRdEM7RXdFL3JRTTs7SUFFRTtFeEVpc1FSO0V3RS9yUU07O0lBRUU7RXhFaXNRUjtFd0UvclFNOztJQUVFO0V4RWlzUVI7RXdFL3JRTTs7SUFFRTtFeEVpc1FSO0V3RWh0UU07SUFBZ0M7RXhFbXRRdEM7RXdFbHRRTTs7SUFFRTtFeEVvdFFSO0V3RWx0UU07O0lBRUU7RXhFb3RRUjtFd0VsdFFNOztJQUVFO0V4RW90UVI7RXdFbHRRTTs7SUFFRTtFeEVvdFFSO0V3RW51UU07SUFBZ0M7RXhFc3VRdEM7RXdFcnVRTTs7SUFFRTtFeEV1dVFSO0V3RXJ1UU07O0lBRUU7RXhFdXVRUjtFd0VydVFNOztJQUVFO0V4RXV1UVI7RXdFcnVRTTs7SUFFRTtFeEV1dVFSO0V3RXR2UU07SUFBZ0M7RXhFeXZRdEM7RXdFeHZRTTs7SUFFRTtFeEUwdlFSO0V3RXh2UU07O0lBRUU7RXhFMHZRUjtFd0V4dlFNOztJQUVFO0V4RTB2UVI7RXdFeHZRTTs7SUFFRTtFeEUwdlFSO0V3RWx2UU07SUFBd0I7RXhFcXZROUI7RXdFcHZRTTs7SUFFRTtFeEVzdlFSO0V3RXB2UU07O0lBRUU7RXhFc3ZRUjtFd0VwdlFNOztJQUVFO0V4RXN2UVI7RXdFcHZRTTs7SUFFRTtFeEVzdlFSO0V3RXJ3UU07SUFBd0I7RXhFd3dROUI7RXdFdndRTTs7SUFFRTtFeEV5d1FSO0V3RXZ3UU07O0lBRUU7RXhFeXdRUjtFd0V2d1FNOztJQUVFO0V4RXl3UVI7RXdFdndRTTs7SUFFRTtFeEV5d1FSO0V3RXh4UU07SUFBd0I7RXhFMnhROUI7RXdFMXhRTTs7SUFFRTtFeEU0eFFSO0V3RTF4UU07O0lBRUU7RXhFNHhRUjtFd0UxeFFNOztJQUVFO0V4RTR4UVI7RXdFMXhRTTs7SUFFRTtFeEU0eFFSO0V3RTN5UU07SUFBd0I7RXhFOHlROUI7RXdFN3lRTTs7SUFFRTtFeEUreVFSO0V3RTd5UU07O0lBRUU7RXhFK3lRUjtFd0U3eVFNOztJQUVFO0V4RSt5UVI7RXdFN3lRTTs7SUFFRTtFeEUreVFSO0V3RTl6UU07SUFBd0I7RXhFaTBROUI7RXdFaDBRTTs7SUFFRTtFeEVrMFFSO0V3RWgwUU07O0lBRUU7RXhFazBRUjtFd0VoMFFNOztJQUVFO0V4RWswUVI7RXdFaDBRTTs7SUFFRTtFeEVrMFFSO0V3RTV6UUU7SUFBbUI7RXhFK3pRckI7RXdFOXpRRTs7SUFFRTtFeEVnMFFKO0V3RTl6UUU7O0lBRUU7RXhFZzBRSjtFd0U5elFFOztJQUVFO0V4RWcwUUo7RXdFOXpRRTs7SUFFRTtFeEVnMFFKO0FBQ0Y7QWUxMFFJO0V5RGxESTtJQUFnQztFeEVnNFF0QztFd0UvM1FNOztJQUVFO0V4RWk0UVI7RXdFLzNRTTs7SUFFRTtFeEVpNFFSO0V3RS8zUU07O0lBRUU7RXhFaTRRUjtFd0UvM1FNOztJQUVFO0V4RWk0UVI7RXdFaDVRTTtJQUFnQztFeEVtNVF0QztFd0VsNVFNOztJQUVFO0V4RW81UVI7RXdFbDVRTTs7SUFFRTtFeEVvNVFSO0V3RWw1UU07O0lBRUU7RXhFbzVRUjtFd0VsNVFNOztJQUVFO0V4RW81UVI7RXdFbjZRTTtJQUFnQztFeEVzNlF0QztFd0VyNlFNOztJQUVFO0V4RXU2UVI7RXdFcjZRTTs7SUFFRTtFeEV1NlFSO0V3RXI2UU07O0lBRUU7RXhFdTZRUjtFd0VyNlFNOztJQUVFO0V4RXU2UVI7RXdFdDdRTTtJQUFnQztFeEV5N1F0QztFd0V4N1FNOztJQUVFO0V4RTA3UVI7RXdFeDdRTTs7SUFFRTtFeEUwN1FSO0V3RXg3UU07O0lBRUU7RXhFMDdRUjtFd0V4N1FNOztJQUVFO0V4RTA3UVI7RXdFejhRTTtJQUFnQztFeEU0OFF0QztFd0UzOFFNOztJQUVFO0V4RTY4UVI7RXdFMzhRTTs7SUFFRTtFeEU2OFFSO0V3RTM4UU07O0lBRUU7RXhFNjhRUjtFd0UzOFFNOztJQUVFO0V4RTY4UVI7RXdFNTlRTTtJQUFnQztFeEUrOVF0QztFd0U5OVFNOztJQUVFO0V4RWcrUVI7RXdFOTlRTTs7SUFFRTtFeEVnK1FSO0V3RTk5UU07O0lBRUU7RXhFZytRUjtFd0U5OVFNOztJQUVFO0V4RWcrUVI7RXdFLytRTTtJQUFnQztFeEVrL1F0QztFd0VqL1FNOztJQUVFO0V4RW0vUVI7RXdFai9RTTs7SUFFRTtFeEVtL1FSO0V3RWovUU07O0lBRUU7RXhFbS9RUjtFd0VqL1FNOztJQUVFO0V4RW0vUVI7RXdFbGdSTTtJQUFnQztFeEVxZ1J0QztFd0VwZ1JNOztJQUVFO0V4RXNnUlI7RXdFcGdSTTs7SUFFRTtFeEVzZ1JSO0V3RXBnUk07O0lBRUU7RXhFc2dSUjtFd0VwZ1JNOztJQUVFO0V4RXNnUlI7RXdFcmhSTTtJQUFnQztFeEV3aFJ0QztFd0V2aFJNOztJQUVFO0V4RXloUlI7RXdFdmhSTTs7SUFFRTtFeEV5aFJSO0V3RXZoUk07O0lBRUU7RXhFeWhSUjtFd0V2aFJNOztJQUVFO0V4RXloUlI7RXdFeGlSTTtJQUFnQztFeEUyaVJ0QztFd0UxaVJNOztJQUVFO0V4RTRpUlI7RXdFMWlSTTs7SUFFRTtFeEU0aVJSO0V3RTFpUk07O0lBRUU7RXhFNGlSUjtFd0UxaVJNOztJQUVFO0V4RTRpUlI7RXdFM2pSTTtJQUFnQztFeEU4alJ0QztFd0U3alJNOztJQUVFO0V4RStqUlI7RXdFN2pSTTs7SUFFRTtFeEUralJSO0V3RTdqUk07O0lBRUU7RXhFK2pSUjtFd0U3alJNOztJQUVFO0V4RStqUlI7RXdFOWtSTTtJQUFnQztFeEVpbFJ0QztFd0VobFJNOztJQUVFO0V4RWtsUlI7RXdFaGxSTTs7SUFFRTtFeEVrbFJSO0V3RWhsUk07O0lBRUU7RXhFa2xSUjtFd0VobFJNOztJQUVFO0V4RWtsUlI7RXdFMWtSTTtJQUF3QjtFeEU2a1I5QjtFd0U1a1JNOztJQUVFO0V4RThrUlI7RXdFNWtSTTs7SUFFRTtFeEU4a1JSO0V3RTVrUk07O0lBRUU7RXhFOGtSUjtFd0U1a1JNOztJQUVFO0V4RThrUlI7RXdFN2xSTTtJQUF3QjtFeEVnbVI5QjtFd0UvbFJNOztJQUVFO0V4RWltUlI7RXdFL2xSTTs7SUFFRTtFeEVpbVJSO0V3RS9sUk07O0lBRUU7RXhFaW1SUjtFd0UvbFJNOztJQUVFO0V4RWltUlI7RXdFaG5STTtJQUF3QjtFeEVtblI5QjtFd0VsblJNOztJQUVFO0V4RW9uUlI7RXdFbG5STTs7SUFFRTtFeEVvblJSO0V3RWxuUk07O0lBRUU7RXhFb25SUjtFd0VsblJNOztJQUVFO0V4RW9uUlI7RXdFbm9STTtJQUF3QjtFeEVzb1I5QjtFd0Vyb1JNOztJQUVFO0V4RXVvUlI7RXdFcm9STTs7SUFFRTtFeEV1b1JSO0V3RXJvUk07O0lBRUU7RXhFdW9SUjtFd0Vyb1JNOztJQUVFO0V4RXVvUlI7RXdFdHBSTTtJQUF3QjtFeEV5cFI5QjtFd0V4cFJNOztJQUVFO0V4RTBwUlI7RXdFeHBSTTs7SUFFRTtFeEUwcFJSO0V3RXhwUk07O0lBRUU7RXhFMHBSUjtFd0V4cFJNOztJQUVFO0V4RTBwUlI7RXdFcHBSRTtJQUFtQjtFeEV1cFJyQjtFd0V0cFJFOztJQUVFO0V4RXdwUko7RXdFdHBSRTs7SUFFRTtFeEV3cFJKO0V3RXRwUkU7O0lBRUU7RXhFd3BSSjtFd0V0cFJFOztJQUVFO0V4RXdwUko7QUFDRjtBZWxxUkk7RXlEbERJO0lBQWdDO0V4RXd0UnRDO0V3RXZ0Uk07O0lBRUU7RXhFeXRSUjtFd0V2dFJNOztJQUVFO0V4RXl0UlI7RXdFdnRSTTs7SUFFRTtFeEV5dFJSO0V3RXZ0Uk07O0lBRUU7RXhFeXRSUjtFd0V4dVJNO0lBQWdDO0V4RTJ1UnRDO0V3RTF1Uk07O0lBRUU7RXhFNHVSUjtFd0UxdVJNOztJQUVFO0V4RTR1UlI7RXdFMXVSTTs7SUFFRTtFeEU0dVJSO0V3RTF1Uk07O0lBRUU7RXhFNHVSUjtFd0UzdlJNO0lBQWdDO0V4RTh2UnRDO0V3RTd2Uk07O0lBRUU7RXhFK3ZSUjtFd0U3dlJNOztJQUVFO0V4RSt2UlI7RXdFN3ZSTTs7SUFFRTtFeEUrdlJSO0V3RTd2Uk07O0lBRUU7RXhFK3ZSUjtFd0U5d1JNO0lBQWdDO0V4RWl4UnRDO0V3RWh4Uk07O0lBRUU7RXhFa3hSUjtFd0VoeFJNOztJQUVFO0V4RWt4UlI7RXdFaHhSTTs7SUFFRTtFeEVreFJSO0V3RWh4Uk07O0lBRUU7RXhFa3hSUjtFd0VqeVJNO0lBQWdDO0V4RW95UnRDO0V3RW55Uk07O0lBRUU7RXhFcXlSUjtFd0VueVJNOztJQUVFO0V4RXF5UlI7RXdFbnlSTTs7SUFFRTtFeEVxeVJSO0V3RW55Uk07O0lBRUU7RXhFcXlSUjtFd0VwelJNO0lBQWdDO0V4RXV6UnRDO0V3RXR6Uk07O0lBRUU7RXhFd3pSUjtFd0V0elJNOztJQUVFO0V4RXd6UlI7RXdFdHpSTTs7SUFFRTtFeEV3elJSO0V3RXR6Uk07O0lBRUU7RXhFd3pSUjtFd0V2MFJNO0lBQWdDO0V4RTAwUnRDO0V3RXowUk07O0lBRUU7RXhFMjBSUjtFd0V6MFJNOztJQUVFO0V4RTIwUlI7RXdFejBSTTs7SUFFRTtFeEUyMFJSO0V3RXowUk07O0lBRUU7RXhFMjBSUjtFd0UxMVJNO0lBQWdDO0V4RTYxUnRDO0V3RTUxUk07O0lBRUU7RXhFODFSUjtFd0U1MVJNOztJQUVFO0V4RTgxUlI7RXdFNTFSTTs7SUFFRTtFeEU4MVJSO0V3RTUxUk07O0lBRUU7RXhFODFSUjtFd0U3MlJNO0lBQWdDO0V4RWczUnRDO0V3RS8yUk07O0lBRUU7RXhFaTNSUjtFd0UvMlJNOztJQUVFO0V4RWkzUlI7RXdFLzJSTTs7SUFFRTtFeEVpM1JSO0V3RS8yUk07O0lBRUU7RXhFaTNSUjtFd0VoNFJNO0lBQWdDO0V4RW00UnRDO0V3RWw0Uk07O0lBRUU7RXhFbzRSUjtFd0VsNFJNOztJQUVFO0V4RW80UlI7RXdFbDRSTTs7SUFFRTtFeEVvNFJSO0V3RWw0Uk07O0lBRUU7RXhFbzRSUjtFd0VuNVJNO0lBQWdDO0V4RXM1UnRDO0V3RXI1Uk07O0lBRUU7RXhFdTVSUjtFd0VyNVJNOztJQUVFO0V4RXU1UlI7RXdFcjVSTTs7SUFFRTtFeEV1NVJSO0V3RXI1Uk07O0lBRUU7RXhFdTVSUjtFd0V0NlJNO0lBQWdDO0V4RXk2UnRDO0V3RXg2Uk07O0lBRUU7RXhFMDZSUjtFd0V4NlJNOztJQUVFO0V4RTA2UlI7RXdFeDZSTTs7SUFFRTtFeEUwNlJSO0V3RXg2Uk07O0lBRUU7RXhFMDZSUjtFd0VsNlJNO0lBQXdCO0V4RXE2UjlCO0V3RXA2Uk07O0lBRUU7RXhFczZSUjtFd0VwNlJNOztJQUVFO0V4RXM2UlI7RXdFcDZSTTs7SUFFRTtFeEVzNlJSO0V3RXA2Uk07O0lBRUU7RXhFczZSUjtFd0VyN1JNO0lBQXdCO0V4RXc3UjlCO0V3RXY3Uk07O0lBRUU7RXhFeTdSUjtFd0V2N1JNOztJQUVFO0V4RXk3UlI7RXdFdjdSTTs7SUFFRTtFeEV5N1JSO0V3RXY3Uk07O0lBRUU7RXhFeTdSUjtFd0V4OFJNO0lBQXdCO0V4RTI4UjlCO0V3RTE4Uk07O0lBRUU7RXhFNDhSUjtFd0UxOFJNOztJQUVFO0V4RTQ4UlI7RXdFMThSTTs7SUFFRTtFeEU0OFJSO0V3RTE4Uk07O0lBRUU7RXhFNDhSUjtFd0UzOVJNO0lBQXdCO0V4RTg5UjlCO0V3RTc5Uk07O0lBRUU7RXhFKzlSUjtFd0U3OVJNOztJQUVFO0V4RSs5UlI7RXdFNzlSTTs7SUFFRTtFeEUrOVJSO0V3RTc5Uk07O0lBRUU7RXhFKzlSUjtFd0U5K1JNO0lBQXdCO0V4RWkvUjlCO0V3RWgvUk07O0lBRUU7RXhFay9SUjtFd0VoL1JNOztJQUVFO0V4RWsvUlI7RXdFaC9STTs7SUFFRTtFeEVrL1JSO0V3RWgvUk07O0lBRUU7RXhFay9SUjtFd0U1K1JFO0lBQW1CO0V4RSsrUnJCO0V3RTkrUkU7O0lBRUU7RXhFZy9SSjtFd0U5K1JFOztJQUVFO0V4RWcvUko7RXdFOStSRTs7SUFFRTtFeEVnL1JKO0V3RTkrUkU7O0lBRUU7RXhFZy9SSjtBQUNGO0FlMS9SSTtFeURsREk7SUFBZ0M7RXhFZ2pTdEM7RXdFL2lTTTs7SUFFRTtFeEVpalNSO0V3RS9pU007O0lBRUU7RXhFaWpTUjtFd0UvaVNNOztJQUVFO0V4RWlqU1I7RXdFL2lTTTs7SUFFRTtFeEVpalNSO0V3RWhrU007SUFBZ0M7RXhFbWtTdEM7RXdFbGtTTTs7SUFFRTtFeEVva1NSO0V3RWxrU007O0lBRUU7RXhFb2tTUjtFd0Vsa1NNOztJQUVFO0V4RW9rU1I7RXdFbGtTTTs7SUFFRTtFeEVva1NSO0V3RW5sU007SUFBZ0M7RXhFc2xTdEM7RXdFcmxTTTs7SUFFRTtFeEV1bFNSO0V3RXJsU007O0lBRUU7RXhFdWxTUjtFd0VybFNNOztJQUVFO0V4RXVsU1I7RXdFcmxTTTs7SUFFRTtFeEV1bFNSO0V3RXRtU007SUFBZ0M7RXhFeW1TdEM7RXdFeG1TTTs7SUFFRTtFeEUwbVNSO0V3RXhtU007O0lBRUU7RXhFMG1TUjtFd0V4bVNNOztJQUVFO0V4RTBtU1I7RXdFeG1TTTs7SUFFRTtFeEUwbVNSO0V3RXpuU007SUFBZ0M7RXhFNG5TdEM7RXdFM25TTTs7SUFFRTtFeEU2blNSO0V3RTNuU007O0lBRUU7RXhFNm5TUjtFd0UzblNNOztJQUVFO0V4RTZuU1I7RXdFM25TTTs7SUFFRTtFeEU2blNSO0V3RTVvU007SUFBZ0M7RXhFK29TdEM7RXdFOW9TTTs7SUFFRTtFeEVncFNSO0V3RTlvU007O0lBRUU7RXhFZ3BTUjtFd0U5b1NNOztJQUVFO0V4RWdwU1I7RXdFOW9TTTs7SUFFRTtFeEVncFNSO0V3RS9wU007SUFBZ0M7RXhFa3FTdEM7RXdFanFTTTs7SUFFRTtFeEVtcVNSO0V3RWpxU007O0lBRUU7RXhFbXFTUjtFd0VqcVNNOztJQUVFO0V4RW1xU1I7RXdFanFTTTs7SUFFRTtFeEVtcVNSO0V3RWxyU007SUFBZ0M7RXhFcXJTdEM7RXdFcHJTTTs7SUFFRTtFeEVzclNSO0V3RXByU007O0lBRUU7RXhFc3JTUjtFd0VwclNNOztJQUVFO0V4RXNyU1I7RXdFcHJTTTs7SUFFRTtFeEVzclNSO0V3RXJzU007SUFBZ0M7RXhFd3NTdEM7RXdFdnNTTTs7SUFFRTtFeEV5c1NSO0V3RXZzU007O0lBRUU7RXhFeXNTUjtFd0V2c1NNOztJQUVFO0V4RXlzU1I7RXdFdnNTTTs7SUFFRTtFeEV5c1NSO0V3RXh0U007SUFBZ0M7RXhFMnRTdEM7RXdFMXRTTTs7SUFFRTtFeEU0dFNSO0V3RTF0U007O0lBRUU7RXhFNHRTUjtFd0UxdFNNOztJQUVFO0V4RTR0U1I7RXdFMXRTTTs7SUFFRTtFeEU0dFNSO0V3RTN1U007SUFBZ0M7RXhFOHVTdEM7RXdFN3VTTTs7SUFFRTtFeEUrdVNSO0V3RTd1U007O0lBRUU7RXhFK3VTUjtFd0U3dVNNOztJQUVFO0V4RSt1U1I7RXdFN3VTTTs7SUFFRTtFeEUrdVNSO0V3RTl2U007SUFBZ0M7RXhFaXdTdEM7RXdFaHdTTTs7SUFFRTtFeEVrd1NSO0V3RWh3U007O0lBRUU7RXhFa3dTUjtFd0Vod1NNOztJQUVFO0V4RWt3U1I7RXdFaHdTTTs7SUFFRTtFeEVrd1NSO0V3RTF2U007SUFBd0I7RXhFNnZTOUI7RXdFNXZTTTs7SUFFRTtFeEU4dlNSO0V3RTV2U007O0lBRUU7RXhFOHZTUjtFd0U1dlNNOztJQUVFO0V4RTh2U1I7RXdFNXZTTTs7SUFFRTtFeEU4dlNSO0V3RTd3U007SUFBd0I7RXhFZ3hTOUI7RXdFL3dTTTs7SUFFRTtFeEVpeFNSO0V3RS93U007O0lBRUU7RXhFaXhTUjtFd0Uvd1NNOztJQUVFO0V4RWl4U1I7RXdFL3dTTTs7SUFFRTtFeEVpeFNSO0V3RWh5U007SUFBd0I7RXhFbXlTOUI7RXdFbHlTTTs7SUFFRTtFeEVveVNSO0V3RWx5U007O0lBRUU7RXhFb3lTUjtFd0VseVNNOztJQUVFO0V4RW95U1I7RXdFbHlTTTs7SUFFRTtFeEVveVNSO0V3RW56U007SUFBd0I7RXhFc3pTOUI7RXdFcnpTTTs7SUFFRTtFeEV1elNSO0V3RXJ6U007O0lBRUU7RXhFdXpTUjtFd0VyelNNOztJQUVFO0V4RXV6U1I7RXdFcnpTTTs7SUFFRTtFeEV1elNSO0V3RXQwU007SUFBd0I7RXhFeTBTOUI7RXdFeDBTTTs7SUFFRTtFeEUwMFNSO0V3RXgwU007O0lBRUU7RXhFMDBTUjtFd0V4MFNNOztJQUVFO0V4RTAwU1I7RXdFeDBTTTs7SUFFRTtFeEUwMFNSO0V3RXAwU0U7SUFBbUI7RXhFdTBTckI7RXdFdDBTRTs7SUFFRTtFeEV3MFNKO0V3RXQwU0U7O0lBRUU7RXhFdzBTSjtFd0V0MFNFOztJQUVFO0V4RXcwU0o7RXdFdDBTRTs7SUFFRTtFeEV3MFNKO0FBQ0Y7QXlFejRTRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtBekV5NFNKOztBMEVuNVNBO0VBQWtCO0ExRXU1U2xCOztBMEVuNVNBO0VBQWlCO0ExRXU1U2pCOztBMEV0NVNBO0VBQWlCO0ExRTA1U2pCOztBMEV6NVNBO0VBQWlCO0ExRTY1U2pCOztBMEU1NVNBO0VDVEU7RUFDQTtFQUNBO0EzRXk2U0Y7O0EwRTE1U0k7RUFBd0I7QTFFODVTNUI7O0EwRTc1U0k7RUFBd0I7QTFFaTZTNUI7O0EwRWg2U0k7RUFBd0I7QTFFbzZTNUI7O0FlLzNTSTtFMkR2Q0E7SUFBd0I7RTFFMjZTMUI7RTBFMTZTRTtJQUF3QjtFMUU2NlMxQjtFMEU1NlNFO0lBQXdCO0UxRSs2UzFCO0FBQ0Y7QWUzNFNJO0UyRHZDQTtJQUF3QjtFMUVzN1MxQjtFMEVyN1NFO0lBQXdCO0UxRXc3UzFCO0UwRXY3U0U7SUFBd0I7RTFFMDdTMUI7QUFDRjtBZXQ1U0k7RTJEdkNBO0lBQXdCO0UxRWk4UzFCO0UwRWg4U0U7SUFBd0I7RTFFbThTMUI7RTBFbDhTRTtJQUF3QjtFMUVxOFMxQjtBQUNGO0FlajZTSTtFMkR2Q0E7SUFBd0I7RTFFNDhTMUI7RTBFMzhTRTtJQUF3QjtFMUU4OFMxQjtFMEU3OFNFO0lBQXdCO0UxRWc5UzFCO0FBQ0Y7QTBFMzhTQTtFQUFtQjtBMUU4OFNuQjs7QTBFNzhTQTtFQUFtQjtBMUVpOVNuQjs7QTBFaDlTQTtFQUFtQjtBMUVvOVNuQjs7QTBFaDlTQTtFQUF1QjtBMUVvOVN2Qjs7QTBFbjlTQTtFQUF1QjtBMUV1OVN2Qjs7QTBFdDlTQTtFQUF1QjtBMUUwOVN2Qjs7QTBFejlTQTtFQUF1QjtBMUU2OVN2Qjs7QTBFNTlTQTtFQUF1QjtBMUVnK1N2Qjs7QTBFLzlTQTtFQUF1QjtBMUVtK1N2Qjs7QTBFLzlTQTtFQUFjO0ExRW0rU2Q7O0E0RTFnVEU7RUFDRTtBNUU2Z1RKOztBTW5nVEU7RXNFTE07QTVFNGdUUjs7QTRFbGhURTtFQUNFO0E1RXFoVEo7O0FNM2dURTtFc0VMTTtBNUVvaFRSOztBNEUxaFRFO0VBQ0U7QTVFNmhUSjs7QU1uaFRFO0VzRUxNO0E1RTRoVFI7O0E0RWxpVEU7RUFDRTtBNUVxaVRKOztBTTNoVEU7RXNFTE07QTVFb2lUUjs7QTRFMWlURTtFQUNFO0E1RTZpVEo7O0FNbmlURTtFc0VMTTtBNUU0aVRSOztBNEVsalRFO0VBQ0U7QTVFcWpUSjs7QU0zaVRFO0VzRUxNO0E1RW9qVFI7O0E0RTFqVEU7RUFDRTtBNUU2alRKOztBTW5qVEU7RXNFTE07QTVFNGpUUjs7QTRFbGtURTtFQUNFO0E1RXFrVEo7O0FNM2pURTtFc0VMTTtBNUVva1RSOztBMEU3aFRBO0VBQWE7QTFFaWlUYjs7QTBFaGlUQTtFQUFjO0ExRW9pVGQ7O0EwRWxpVEE7RUFBaUI7QTFFc2lUakI7O0EwRXJpVEE7RUFBaUI7QTFFeWlUakI7O0EwRXJpVEE7RUd2REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0VnbVRGOztBMEV6aVRBO0VBQXdCO0ExRTZpVHhCOztBMEUzaVRBO0VBQ0U7RUFDQTtBMUU4aVRGOztBMEV6aVRBO0VBQWM7QTFFNmlUZDs7QThFOW1UQTtFQUNFO0E5RWluVEY7O0E4RTltVEE7RUFDRTtBOUVpblRGOztBK0VqblRFO0VBQ0U7OztJQUtFO0lBRUE7RS9FaW5USjtFK0U3bVRJO0lBQ0U7RS9FK21UTjtFK0V0bVRFO0lBQ0U7RS9Fd21USjtFK0UxbFRFO0lBQ0U7RS9FNGxUSjtFK0UxbFRFOztJQUVFO0lBQ0E7RS9FNGxUSjtFK0V6bFRFOztJQUVFO0UvRTJsVEo7RStFeGxURTs7O0lBR0U7SUFDQTtFL0UwbFRKO0UrRXZsVEU7O0lBRUU7RS9FeWxUSjtFK0VqbFRFO0lBQ0UsUTNFMmlDOEI7RUp3aVJsQztFK0VqbFRFO0lBQ0U7RS9FbWxUSjtFK0VqbFRFO0lBQ0U7RS9FbWxUSjtFK0Uva1RFO0lBQ0U7RS9FaWxUSjtFK0Uva1RFO0lBQ0U7RS9FaWxUSjtFK0U5a1RFO0lBQ0U7RS9FZ2xUSjtFK0U5a1RJOzs7SUFFRTtFL0VpbFROO0UrRTVrVEk7O0lBRUU7RS9FOGtUTjtFK0Uxa1RFO0lBQ0U7RS9FNGtUSjtFK0Uxa1RJOzs7O0lBSUUscUI3RGpGTztFbEI2cFRiO0UrRXhrVEU7SUFDRTtJQUNBLHFCN0R2RlM7RWxCaXFUYjtBQUNGO0FBcGpUQTtBQUNBO0FnRnRKQTtBQUNBO0VBQ0U7SUFDRTtJQUNBO0VoRjZzVEY7RWdGMXNUQTtJQUNFO0lBQ0E7SUFDQTtFaEY0c1RGO0FBQ0Y7QWdGenNUQTtFQUNFO0VBUUEseUI5RHdLMkI7RThEbkszQjtBaEZ3c1RGOztBZ0YvclRBO0VBQ0U7SUFDRTtFaEZrc1RGO0VnRi9yVEE7SUFDRTtFaEZpc1RGO0FBQ0Y7QWdGOXJUQTtFQUNFO0FoRmdzVEY7O0FnRjdyVEE7RUFVRTtFQUNBO0VBQ0E7RUFDQTtBaEZ1clRGO0FnRm5zVEU7RUFDRTtJQUNFO0VoRnFzVEo7RWdGbHNURTtJQUNFO0VoRm9zVEo7QUFDRjs7QWdGN3JUQTtFQUNFO0lBQ0U7SUFDQTtFaEZnc1RGO0VnRjdyVEE7SUFDRTtJQUNBO0VoRityVEY7QUFDRjtBZ0Y1clRBO0VBQ0U7QWhGOHJURjs7QWlGN3dUQTtBQ29EQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRjZ0VEY7O0FBOW1UQTtBQUNBO0FtRnhLQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0FuRjB4VEY7O0FtRnZ4VEE7Ozs7OztFQUVFO0VBQ0E7QW5GOHhURjs7QW1GM3hUQTs7OztFQUNFO0FuRml5VEY7O0FtRjl4VEE7Ozs7RUFDRTtFQUNBO0FuRm95VEY7O0FtRmp5VEE7Ozs7Ozs7OztFQVNFO0FuRm95VEY7O0FtRmp5VEE7Ozs7Ozs7Ozs7RUFVRTtBbkZveVRGOztBbUZqeVRBOzs7Ozs7Ozs7RUFNRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRnV5VEY7O0FtRnB5VEE7RUFDRTtFQUNBO0FuRnV5VEY7O0FtRnB5VEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0NFO0FuRnV5VEY7O0FtRnB5VEE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVlFO0VBQ0E7QW5GNnlURjs7QW1GMXlUQTtFQUNFO0VBQ0E7QW5GNnlURjs7QW1GMXlUQTs7OztFQUlFO0FuRjZ5VEY7O0FtRjF5VEE7O0VBRUU7RUFDQTtBbkY2eVRGOztBb0ZsN1RBO0FBRUE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBcEZtN1RKO0FvRmg3VEE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBcEZpN1RKO0FvRjk2VEE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBcEYrNlRKO0FvRjU2VEE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBcEY2NlRKO0FvRjE2VEE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBcEYyNlRKO0FxRjU4VEU7RUNMQSxjRE1zQjtBckY4OFR4Qjs7QXFGLzhURTtFQ0xBLGNETXNCO0FyRms5VHhCOztBcUZuOVRFO0VDTEEsY0RNc0I7QXJGczlUeEI7O0FxRnY5VEU7RUNMQSxjRE1zQjtBckYwOVR4Qjs7QXFGMzlURTtFQ0xBLGNETXNCO0FyRjg5VHhCOztBcUYvOVRFO0VDTEEsY0RNc0I7QXJGaytUeEI7O0FxRm4rVEU7RUNMQSxjRE1zQjtBckZzK1R4Qjs7QXFGditURTtFQ0xBLGNETXNCO0FyRjArVHhCOztBcUYzK1RFO0VDTEEsY0RNc0I7QXJGOCtUeEI7O0FxRi8rVEU7RUNMQSxjRE1zQjtBckZrL1R4Qjs7QXFGOStURTtFQUNFO0FyRmkvVEo7O0FxRmwvVEU7RUFDRTtBckZxL1RKOztBcUZ0L1RFO0VBQ0U7QXJGeS9USjs7QXFGMS9URTtFQUNFO0FyRjYvVEo7O0FxRjkvVEU7RUFDRTtBckZpZ1VKOztBcUZsZ1VFO0VBQ0U7QXJGcWdVSjs7QXFGdGdVRTtFQUNFO0FyRnlnVUo7O0FxRjFnVUU7RUFDRTtBckY2Z1VKOztBcUY5Z1VFO0VBQ0U7QXJGaWhVSjs7QXFGbGhVRTtFQUNFO0FyRnFoVUo7O0F1RmppVUE7QUFDQTs7RUFFRTtFQUNBLG9DckU0RFM7RXFFM0RUO0F2Rm9pVUY7O0F1RmppVUE7Ozs7Ozs7Ozs7OztFQVlFLG9DckU0Q1M7RXFFM0NUO0VBQ0E7QXZGb2lVRjs7QXVGamlVQTtFQUNFLG1CckV3Q2tCO0VxRXZDbEI7QXZGb2lVRjs7QXVGamlVQTs7RUFFRTtFQUNBO0F2Rm9pVUY7O0F1RmppVUE7O0VBRUU7RUFDQTtBdkZvaVVGOztBdUZqaVVBOztFQUVFO0VBQ0E7QXZGb2lVRjs7QXVGamlVQTs7RUFFRTtFQUNBO0F2Rm9pVUY7O0F1RmppVUE7O0VBRUU7RUFDQTtBdkZvaVVGOztBdUZqaVVBOztFQUVFO0VBQ0E7QXZGb2lVRjs7QXVGamlVQTtFQUNFO0F2Rm9pVUY7QXVGbmlVRTtFQUZGO0lBR0k7RXZGc2lVRjtBQUNGOztBdUZuaVVBO0VBQ0U7QXZGc2lVRjtBdUZyaVVFO0VBRkY7SUFHSTtFdkZ3aVVGO0FBQ0Y7O0F1RnJpVUE7RUFDRTtBdkZ3aVVGO0F1RnZpVUU7RUFGRjtJQUdJO0V2RjBpVUY7QUFDRjs7QXVGdmlVQTtFQUNFO0F2RjBpVUY7QXVGemlVRTtFQUZGO0lBR0k7RXZGNGlVRjtBQUNGOztBdUZ6aVVBO0VBQ0U7QXZGNGlVRjtBdUYzaVVFO0VBRkY7SUFHSTtFdkY4aVVGO0FBQ0Y7O0F1RjNpVUE7RUFDRTtFQUNBO0F2RjhpVUY7O0F1RjFpVUU7RUFDRTtBdkY2aVVKOztBdUZ4aVVFO0VDL0dBLHFCcEYwRWE7QUppbFVmO0F3RnpwVUU7RUFDRSxjcEZ1RVc7QUpvbFVmOztBdUYvaVVFO0VDL0dBLHFCcEYwRWE7QUp3bFVmO0F3RmhxVUU7RUFDRSxjcEZ1RVc7QUoybFVmOztBdUZ0alVFO0VDL0dBLHFCcEYwRWE7QUorbFVmO0F3RnZxVUU7RUFDRSxjcEZ1RVc7QUprbVVmOztBdUY3alVFO0VDL0dBLHFCcEYwRWE7QUpzbVVmO0F3RjlxVUU7RUFDRSxjcEZ1RVc7QUp5bVVmOztBdUZwa1VFO0VDL0dBLHFCcEYwRWE7QUo2bVVmO0F3RnJyVUU7RUFDRSxjcEZ1RVc7QUpnblVmOztBdUYza1VFO0VDL0dBLHFCcEYwRWE7QUpvblVmO0F3RjVyVUU7RUFDRSxjcEZ1RVc7QUp1blVmOztBdUZsbFVFO0VDL0dBLHFCcEYwRWE7QUoyblVmO0F3Rm5zVUU7RUFDRSxjcEZ1RVc7QUo4blVmOztBdUZ6bFVFO0VDL0dBLHFCcEYwRWE7QUprb1VmO0F3RjFzVUU7RUFDRSxjcEZ1RVc7QUpxb1VmOztBdUYzbFVBO0VBQ0U7RUFDQTtFQUNBLGNyRXBEWTtFcUVxRFo7RUFDQTtBdkY4bFVGO0F1RjdsVUU7RUFDRTtBdkYrbFVKOztBdUYzbFVBO0VBRUU7RUFDQTtBdkY2bFVGOztBdUYxbFVBO0VBQ0U7QXZGNmxVRjtBdUYzbFVFO0VBQ0U7QXZGNmxVSjs7QXVGemxVQTtFQUNFO0F2RjRsVUY7O0F1RnpsVUE7RUFDRTtBdkY0bFVGOztBdUZ6bFVBO0VBQ0U7QXZGNGxVRjs7QXVGemxVQTtFQUNFO0F2RjRsVUY7O0F1RnpsVUE7RUFDRTtBdkY0bFVGOztBdUZ6bFVBO0VBQ0U7QXZGNGxVRjs7QXVGemxVQTtFQUNFO0F2RjRsVUY7O0F5RnB3VUE7QUFDQTs7RUFFRTtFQUNBO0F6RnV3VUY7O0F5RnB3VUE7OztFQUdFO0F6RnV3VUY7O0F5RnB3VUE7RUFDRSxtQnZFc0JXO0V1RXJCWDtFQUNBO0F6RnV3VUY7QXlGcndVRTtFQUlFO0F6Rm93VUo7QXlGdndVSTtFQUNFO0F6Rnl3VU47O0FlcHRVSTtFMEUvQ0o7SUFFSTtFekZzd1VGO0FBQ0Y7O0F5Rm53VUE7RUFDRTtFM0U1QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMkUyQkE7RUFJQTtBekZ1d1VGO0FlbnZVSTtFMEU1Qko7STNFVE0sZ0JWMkxpQjtFSmltVXJCO0FBQ0Y7QWV4dlVJO0UwRTVCSjtJM0VUTSxnQlYyTGlCO0VKc21VckI7QUFDRjtBZTd2VUk7RTBFNUJKO0kzRVRNLGdCVjJMaUI7RUoybVVyQjtBQUNGO0FlbHdVSTtFMEU1Qko7STNFVE0saUJWMkxpQjtFSmduVXJCO0FBQ0Y7O0F5Rnh4VUE7RUFDRTtBekYyeFVGOztBeUZ4eFVBO0VBQ0U7QXpGMnhVRjtBeUZ6eFVFO0VBQ0U7RUFDQTtFQUNBO0F6RjJ4VUo7QXlGeHhVRTtFQUNFO0VBQ0E7RUFDQTtBekYweFVKOztBeUZ0eFVBO0VBRUU7RUFDQTtBekZ3eFVGOztBeUZweFVFO0VBQ0U7QXpGdXhVSjs7QXlGbnhVQTtFQUNFO0F6RnN4VUY7QXlGcnhVRTtFQUNFLFdyRjdETztFcUY4RFA7QXpGdXhVSjtBeUZ0eFVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGd3hVTjtBeUZ2eFVNO0VBQ0U7RUFDQSxXckZ0Rkc7QUorMlVYO0F5RnJ4VUU7RUFDRTtFQUNBO0F6RnV4VUo7O0EwRnozVUM7RUFDQyxvQ3hFOERTO0FsQjh6VVg7QTBGMzNVRTtFQUNDLG1CeEUwRXVCO0V3RXpFdkIsWXhFNkZhO0FsQmd5VWhCO0EwRjUzVUc7RUFDQztBMUY4M1VKO0EwRjczVUk7RUFGRDtJQUdFO0UxRmc0VUg7QUFDRjtBMEYvM1VJO0VBQ0M7RUFDQTtBMUZpNFVMO0EwRi8zVUs7RUFHQztBMUYrM1VOO0EwRjUzVUs7RUFDQztFQUNBO0VBQ0E7RUFDQTtBMUY4M1VOO0EwRjEzVUk7RUFDQztBMUY0M1VMO0EwRjEzVUs7RUFDQztFQUNBO0VBQ0E7RUFDQTtBMUY0M1VOO0FldjFVSTtFMkVuRUQ7SUFrQ0UsV3hFbUM2QjtFbEJ5MVVoQztFMEYxM1VHO0lBQ0M7RTFGNDNVSjtFMEZ6M1VHO0lBQ0M7RTFGMjNVSjtBQUNGO0EwRnYzVUc7RUFDQyxXdEY5Q087RXNGK0NQO0ExRnkzVUo7QTBGbjNVSztFQUNDO0VBQ0E7RUFDQTtBMUZxM1VOO0EwRm4zVU07RUFDQyxjeEVnQjBCO0V3RWYxQixleEVpQ1k7RXdFaENaO0ExRnEzVVA7QTBGcDNVTztFQUNDO0VBQ0E7QTFGczNVUjtBMEZyM1VRO0VBQ0UsY3hFU3VCO0V3RVJ2QjtBMUZ1M1VWO0EwRnIzVVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXdEYvRUM7RXNGZ0ZEO0VBQ0E7QTFGdTNVVjtBMEZyM1VRO0VBQ0U7QTFGdTNVVjtBMEZuM1VPO0VBQ0MsZXhFS2dCO0V3RUpoQjtFQUNBO0ExRnEzVVI7QTBGaDNVTztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0U5Rko7RStFaUdJO0VBQ0E7RUFDQTtFQU1BO0ExRjQyVVI7QTBGaDNVUTtFQUNDO0VBQ0E7QTFGazNVVDtBMEY5MlVRO0VBQ0M7RUFDQTtBMUZnM1VUO0EwRjcyVVE7RUFDQztBMUYrMlVUO0EwRjcyVVM7RUFDQztFQUNBO0ExRisyVVY7QTBGMzJVUTtFQUdDO0VBQ0E7QTFGMjJVVDtBMEZ6MlVTO0VBQ0M7QTFGMjJVVjtBMEZ4MlVTO0VBQ0Msb0N4RXRGQztFZ0VMVDtFQUNBO0VBQ0E7RUFDQTtBbEZzOFVGO0EwRjEyVVM7RUFDQztFQUNBO0VBTUE7RUFFQTtFQUVBO0ExRncyVVY7QTBGcjJVUztFQUNDO0ExRnUyVVY7QTBGbjJVUTtFQUNDO0ExRnEyVVQ7QWUzOFVJO0UyRTZCRTtJQTZFRTtFMUZxMlVOO0UwRnAyVU07SUFDQztJQUNBO0lBQ0E7SUFDQTtFMUZzMlVQO0FBQ0Y7QTBGLzFVUTtFQUNDO0ExRmkyVVQ7QTBGLzFVUTtFQUNDO0VBQ0E7RUFDQTtBMUZpMlVUO0EwRi8xVVE7RUFDQztFQUNBLGN4RXhId0I7RXdFeUh4QjtBMUZpMlVUO0EwRmgyVVM7RUFKRDtJQUtFO0UxRm0yVVI7QUFDRjtBMEYvMVVRO0VBQ0M7RUFDQSxjeEVsSXdCO0V3RW1JeEI7QTFGaTJVVDtBMEY5MVVPO0VBQ0M7QTFGZzJVUjtBMEYzMVVJO0VBQ0M7RUF1QkE7QTFGdTBVTDtBMEY1MVVLO0VBQ0M7QTFGODFVTjtBMEY3MVVNO0VBQ0M7QTFGKzFVUDtBMEY5MVVPO0VBQ0M7RUFDQSxjeEVySnlCO0V3RXNKekI7QTFGZzJVUjtBMEY1MVVNOzs7Ozs7Ozs7RUFDQztFQUNBO0VBQ0E7RUFDQTtBMUZzMlVQO0FrRnBsVkU7Ozs7Ozs7OztFUWdQTSxjeEVoS3lCO0FsQitnVmpDO0FrRjNsVkU7Ozs7Ozs7OztFUTRPTSxjeEVoS3lCO0FsQjBoVmpDO0FrRmxtVkU7Ozs7Ozs7OztFUXdPTSxjeEVoS3lCO0FsQnFpVmpDO0FrRnptVkU7Ozs7Ozs7OztFUW9PTSxjeEVoS3lCO0FsQmdqVmpDO0EwRjM0VUs7RUFDQztFQUNBO0ExRjY0VU47QWU3alZJO0UyRXFKQTtJQThCRTtFMUY4NFVKO0FBQ0Y7QTBGMzRVSTtFQUNDO0VBQ0EsY3hFaEw0QjtBbEI2alZqQztBZXRrVkk7RTJFdUxBO0lBSUU7SUFDQTtFMUYrNFVKO0FBQ0Y7QWU1a1ZJO0UyRXJCRDtJQXFORTtJQUNBO0UxRmc1VUg7QUFDRjtBMEY3NFVFO0VBQ0MsZ0J0RnhRUTtFc0Z5UVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBRUE7RUFJQTtFQUlBO0VBRUE7RUFDQTtFQUNBO0ExRnk0VUg7QWV6bVZJO0UyRXFNRjtJQTZCRTtFMUYyNFVGO0UwRjE0VUU7SUFDQztJQUNBO0lBQ0E7RTFGNDRVSDtBQUNGO0EwRno0VUc7RUFDQztFQUNBO0VBQ0E7RUFNQTtFQUlBO0VBSUE7QTFGdTRVSjtBZWxvVkk7RTJFME9EO0lBbUJFO0UxRnk0VUg7QUFDRjtBMEZ2NFVJO0VBQ0M7RUFDQTtBMUZ5NFVMO0FlM29WSTtFMkVnUUE7SUFJRTtJQUNBO0lBQ0E7RTFGMjRVSjtBQUNGO0FlL3BWSTtFMkV3Ukc7SUFDQztFMUYwNFVOO0FBQ0Y7QTBGdDRVSztFQUNDO0ExRnc0VU47QWV2cVZJO0UyRWlTRztJQUNDO0UxRnk0VU47QUFDRjtBMEZyNFVLO0VBQ0MsY3hFblJrQjtFd0VvUmxCO0VBQ0E7RUFDQTtBMUZ1NFVOO0EwRnQ0VU07RUFDQyxtQnhFalJpQztFd0VrUmpDO0ExRnc0VVA7QTBGdDRVTTtFQUNDO0VBQ0E7RUFDQSxjeEU5UmlCO0V3RStSakI7QTFGdzRVUDtBMEZ0NFVPO0VBQ0M7RUFDQTtBMUZ3NFVSO0EwRnA0VU07RUFDQztFQUNBO0VBQ0E7RUFTQTtFQUNBO0VBSUE7RUFJQSwwQnhFOU1zQjtBbEJnbFY3QjtBMEZoNFVPO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUZrNFVSO0FlaHVWSTtFa0V4Qkg7SUFDQztFakYydlZBO0VpRnh2VkQ7SUFDQyx1Qi9EZ0RxQztFbEIwc1ZyQztFaUZ6dlZBOztJQUVDLGMvRDhDdUM7SStEN0N2QztFakYydlZEO0VpRnp2VkE7SUN2QkEsMEJEd0JvQjtFakYrdlZwQjtBQUNGO0FldnVWSTtFa0VyQ0g7SUFDQztFakYrd1ZBO0VpRjV3VkQ7SUFDQyx1Qi9EZ0RxQztFbEI4dFZyQztFaUY3d1ZBOztJQUVDLGMvRDhDdUM7SStEN0N2QztFakYrd1ZEO0VpRjd3VkE7SUN2QkEsMEJEd0JvQjtFakZteFZwQjtBQUNGO0EwRng1VU07RUFDQztBMUYwNVVQO0EwRno1VU87RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnhFL1ZtQztBbEIwdlYzQztBMEZ6NVVPOzs7RUFHQyxjeEVwV21DO0FsQit2VjNDO0EwRnQ1VUs7RUFDQztBMUZ3NVVOO0EwRnI1VU07RUFDQztFQUNBO0ExRnU1VVA7QTBGcjVVTztFQUNDO0VBQ0E7QTFGdTVVUjtBMEZyNVVRO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsY3hFOVhlO0V3RStYZjtFQUNBO0VBQ0E7RVJ2WlA7RUFDQTtFQUNBO0VBQ0E7RVE0Wk87RUFJQTtFL0U1Y0w7QVhvMlZKO0EwRnA1VVM7RUFDQztFVmhjUiw2QlVpYzZCO0ExRjA1VS9CO0EwRno1VVU7RUFDQztBMUYyNVVYO0EwRnI1VVM7RUFDRTtBMUZ1NVVYO0EwRnQ1VVc7RUFDQztBMUZ3NVVaO0EwRmg1VUs7RUFDQztBMUZrNVVOO0EwRmo1VU07RUFFQztBMUZrNVVQO0FlajFWSTtFMkU2YkU7SVR0Zko7SUFDQTtJQUNBO0lBQ0EsZ0I3RUNTO0k2RUFUO0lBQ0E7SUFDQTtJQUNBO0VqRjg0VkE7RWlGNTRWQztJQUNDO0lBQ0E7RWpGODRWRjtFaUY3NFZFO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakYrNFZIO0FBQ0Y7QWU5MVZJO0UyRWdiRTtJVDVkSjtJQUNBO0lBQ0E7RWpGODRWQTtBQUNGO0FlcjJWSTtFMkVnYkU7SUFJRTtFMUZxN1VOO0FBQ0Y7QTBGcDdVTztFQUNDO0VBQ0E7QTFGczdVUjtBZTkyVkk7RTJFc2JHO0lBSUU7RTFGdzdVUDtBQUNGO0EwRmw3VU07RUFFQztFQUNBO0VBQ0E7RUFDQTtBMUZtN1VQO0FldDRWSTtFMkU4Y0U7SVR2Z0JKO0lBQ0E7SUFDQTtJQUNBLGdCN0VDUztJNkVBVDtJQUNBO0lBQ0E7SUFDQTtFakZtOFZBO0VpRmo4VkM7SUFDQztJQUNBO0VqRm04VkY7RWlGbDhWRTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpGbzhWSDtBQUNGO0FlbjVWSTtFMkVpY0U7SVQ3ZUo7SUFDQTtJQUNBO0VqRm04VkE7QUFDRjtBMEZsOVVPO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsV3RGcGdCRztFc0ZxZ0JIO0VBQ0E7QTFGbzlVUjtBMEZqOVVPO0VBQ0M7QTFGbTlVUjtBZXI2Vkk7RTJFaWNFO0lBb0JFO0UxRm85VU47RTBGbDlVTTtJQUNDO0lBQ0E7SUFDQTtFMUZvOVVQO0UwRmw5VU87SUFDQztJQUNBO0lBQ0E7RTFGbzlVUjtFMEZoOVVTO0lBQ0M7RTFGazlVVjtBQUNGO0EwRnY4VUc7RUFFQztBMUZ3OFVKO0EwRnI4VUU7RUE3akJEO0lBOGpCRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxRnc4VUQ7RTBGdjhVQztJQUNDO0UxRnk4VUY7QUFDRjs7QTJGL2dXQTtBQUNBO0VBQ0UsbUJ6RWtDVztFeUVoQ1g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvQ3pFcURTO0FsQjQ5Vlg7QTJGL2dXRTtFQUNFO0VBQ0E7QTNGaWhXSjtBMkYvZ1dFO0VBaEJGO0lBaUJJO0lBQ0E7RTNGa2hXRjtBQUNGOztBNEZ0aVdBO0FBQ0E7RUFDRSxtQjFFNExrQjtBbEI2MlZwQjs7QTRGcmlXRTtFQURGO0lBRUk7RTVGeWlXRjtBQUNGOztBNEZyaVdFO0VBREY7SUFFSTtFNUZ5aVdGO0FBQ0Y7O0E0RnJpV0U7RUFERjtJQUVJO0U1RnlpV0Y7QUFDRjs7QTRGcmlXRTtFQURGO0lBRUk7RTVGeWlXRjtBQUNGOztBNEZ0aVdBO0VBQ0U7RUFDQTtBNUZ5aVdGOztBNEZ0aVdBO0VBQ0U7RUFDQTtBNUZ5aVdGOztBNEZ0aVdBO0VBQ0U7RUFDQTtBNUZ5aVdGOztBNEZ0aVdBO0VBQ0U7RUFDQTtBNUZ5aVdGOztBNEZ0aVdBO0VBQ0U7RUFDQTtBNUZ5aVdGOztBNEZ0aVdBO0VBQ0U7QTVGeWlXRjs7QTRGdGlXQTtFQUNDO0VBQ0E7QTVGeWlXRDtBNEZ4aVdDO0VBQ0M7RUFDRTtFQUNBO0VBQ0E7QTVGMGlXSjtBNEZ2aVdJO0VBQ0U7RUFDQTtBNUZ5aVdOO0E0RjNpV0k7RUFDRTtFQUNBO0E1RjZpV047QTRGL2lXSTtFQUNFO0VBQ0E7QTVGaWpXTjtBNEZualdJO0VBQ0U7RUFDQTtBNUZxaldOO0E0RnZqV0k7RUFDRTtFQUNBO0E1RnlqV047QTRGM2pXSTtFQUNFO0VBQ0E7QTVGNmpXTjtBNEYvaldJO0VBQ0U7RUFDQTtBNUZpa1dOO0E0Rm5rV0k7RUFDRTtFQUNBO0E1RnFrV047QTRGdmtXSTtFQUNFO0VBQ0E7QTVGeWtXTjtBNEYza1dJO0VBQ0U7RUFDQTtBNUY2a1dOO0E0RjFrV0M7RUFDQztBNUY0a1dGOztBNEZ4a1dBO0VBQ0U7RUFDQTtFQUNBLFd4RjFFUztFd0YyRVQ7QTVGMmtXRjs7QTRGeGtXQTtFQU1FO0VBRUE7RUFFQTtBNUZ1a1dGO0E0RnJrV0U7RUFDRTtFQUNBO0E1RnVrV0o7O0E0RmxrV0U7RUFERjtJQUVJO0U1RnNrV0Y7QUFDRjs7QTRGbGtXRTtFQURGO0lBRUk7RTVGc2tXRjtBQUNGOztBNEZsa1dFO0VBREY7SUFFSTtFNUZza1dGO0FBQ0Y7O0E0RmxrV0U7RUFERjtJQUVJO0U1RnNrV0Y7QUFDRjs7QTRGbmtXQTtFQUNFO0E1RnNrV0Y7O0E0Rm5rV0E7RUFDRTtBNUZza1dGO0E0RnBrV0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqRjVIQTtFaUY4SEEsV3hGeklPO0V3RjBJUDtBNUZza1dKO0E0RnBrV0k7RUFDRTtFQUNBO0E1RnNrV047QTRGbmtXSTtFQUNFO0VBQ0E7QTVGcWtXTjtBNEZsa1dJO0VBQ0U7RUFDQTtBNUZva1dOO0E0RmprV0k7RUFDRTtFQUNBO0E1Rm1rV047O0E0RjdqV0U7RUFERjtJQUVJO0U1RmlrV0Y7QUFDRjs7QTRGN2pXRTtFQURGO0lBRUk7RTVGaWtXRjtBQUNGOztBNEY5aldBO0VBQ0U7QTVGaWtXRjs7QTRGOWpXQTtFQUNFLFd4RnpLUztBSjB1V1g7O0E0RjlqV0E7RUFDRTtBNUZpa1dGOztBNEY5aldBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVGaWtXRjs7QTRGOWpXQTtFQUNFO0E1RmlrV0Y7O0E0RjlqV0E7RUFDRTtBNUZpa1dGOztBNEY5aldFO0VDL0xBLGN6RjJEYTtFeUYxRGIscUJ6RjBEYTtFeUZ6RGI7QTdGaXdXRjs7QTRGcGtXRTtFQy9MQSxjekYyRGE7RXlGMURiLHFCekYwRGE7RXlGekRiO0E3RnV3V0Y7O0E0RjFrV0U7RUMvTEEsY3pGMkRhO0V5RjFEYixxQnpGMERhO0V5RnpEYjtBN0Y2d1dGOztBNEZobFdFO0VDL0xBLGN6RjJEYTtFeUYxRGIscUJ6RjBEYTtFeUZ6RGI7QTdGbXhXRjs7QTRGdGxXRTtFQy9MQSxjekYyRGE7RXlGMURiLHFCekYwRGE7RXlGekRiO0E3Rnl4V0Y7O0E0RjVsV0U7RUMvTEEsY3pGMkRhO0V5RjFEYixxQnpGMERhO0V5RnpEYjtBN0YreFdGOztBNEZsbVdFO0VDL0xBLGN6RjJEYTtFeUYxRGIscUJ6RjBEYTtFeUZ6RGI7QTdGcXlXRjs7QTRGeG1XRTtFQy9MQSxjekYyRGE7RXlGMURiLHFCekYwRGE7RXlGekRiO0E3RjJ5V0Y7O0E0RnptV0E7RUFDRTtFQUNBO0VBQ0E7QTVGNG1XRjs7QThGcDBXQTtBQWlCSTtFQUNFO0E5RnV6V047QThGbnpXRTtFQUNFO0E5RnF6V0o7QThGOXlXRTs7Ozs7O0VBTUU7RUFDQTtBOUZneldKO0E4RjV5V0k7RUFDRTtBOUY4eVdOO0E4RjN5V0k7RUFDRTtBOUY2eVdOO0E4Rnp5V0U7RUFDRTtFQUVBO0E5RjB5V0o7QThGdHlXSTtFQUNFO0E5Rnd5V047QThGcHlXTTtFQUNFO0E5RnN5V1I7QThGaHlXSTtFQUNFO0VBQ0E7RUFDQTtBOUZreVdOO0E4Rjl4V0U7RUFDRTtBOUZneVdKO0E4RnZ4V0E7RUFDRTtFQUNBO0E5Rnl4V0Y7QThGcnhXSTtFQUNFO0E5RnV4V047O0E4Rmx4V0E7RUFJRTtFQUNBO0E5Rmt4V0Y7O0E4Rjd3V0E7RUFDRTtFQUNBO0E5Rmd4V0Y7QThGL3dXRTtFQUNFO0VBQ0E7QTlGaXhXSjs7QThGOXdXQTs7RUFFRTtBOUZpeFdGOztBOEYvd1dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUI1RXhGVztBbEIwMldiOztBOEYvd1dBO0VBQ0U7QTlGa3hXRjs7QThGL3dXQTtFQUNFO0VBQ0E7QTlGa3hXRjtBOEZoeFdJO0VBQ0U7QTlGa3hXTjtBOEZqeFdNO0VBQ0U7QTlGbXhXUjs7QThGM3dXSTtFQUNFO0E5Rjh3V047QThGN3dXTTtFQUNFO0E5Rit3V1I7O0E4Rnp3V0E7RUFDRTtFQUNBO0E5RjR3V0Y7O0ErRng2V0U7RUFDRTtFQUNBO0VBQ0E7QS9GMjZXSjtBK0YxNldJO0VBR0U7QS9GMDZXTjtBK0Z6NldNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0YyNldSO0ErRno2V007RUFDRTtBL0YyNldSOztBQXh3V0E7QUFDQTtBZ0dyTEE7QUFHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRys3V0o7QWdHOTdXSTtFQUNFO0VBQ0E7RUFDQTtBaEdnOFdOO0FnRy83V007RUFDRTtFQUNBO0FoR2k4V1I7QWdHLzdXTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCY04sMkJnQmIwQjtFQUNwQjtBaEdxOFdSO0FnR3A4V1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHczhXVjtBZ0dwOFdRO0VBQ0U7QWhHczhXVjtBZ0dyOFdVO0VBQ0U7QWhHdThXWjtBZ0duOFdVO0VBQ0U7QWhHcThXWjtBZ0doOFdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhHazhXTjtBZ0dqOFdNO0VBQ0U7QWhHbThXUjtBZ0cvN1dFO0VBQ0UsZ0I1RmpETztFNEZrRFA7QWhHaThXSjtBZ0doOFdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhHazhXTjtBZ0dqOFdNOztFQUVFO0VBQ0E7QWhHbThXUjtBZ0c5N1dZO0VBRUU7QWhHKzdXZDtBZ0c1N1dVO0VBQ0U7QWhHODdXWjtBZ0cxN1dNO0VBQ0U7QWhHNDdXUjtBZ0d2N1dJO0VBQ0U7QWhHeTdXTjtBZ0d4N1dNO0VBQ0U7QWhHMDdXUjtBZ0d6N1dRO0VBQ0U7RWhCekRSLDJCZ0IwRDRCO0FoRys3VzlCO0FnRzk3V1U7RUFDRTtFQUNBO0FoR2c4V1o7QWdHOTdXVTtFQUNFO0VBQ0EsVzVGN0ZEO0FKNmhYWDtBZ0cvN1dZO0VBQ0UsVzVGL0ZIO0FKZ2lYWDtBZ0c1N1dNO0VBQ0U7RUFDQTtFQUNBLFc1RnZHRztBSnFpWFg7QWdHejdXSTtFQUNFO0FoRzI3V047QWdHMTdXTTtFQUNFO0FoRzQ3V1I7QWdHMzdXUTtFQUNFO0VoQnJGUiwyQmdCc0Y0QjtBaEdpOFc5QjtBZ0doOFdVO0VBQ0U7RUFDQTtBaEdrOFdaO0FnR2g4V1U7RUFDRTtFQUNBLFc1RnpIRDtBSjJqWFg7QWdHajhXWTtFQUNFLFc1RjNISDtBSjhqWFg7QWdHOTdXTTtFQUNFO0FoR2c4V1I7QWdHMzdXSTtFQUNFO0FoRzY3V047QWdHNTdXTTtFQUNFO0FoRzg3V1I7QWdHNzdXUTtFQUNFO0VoQi9HUiwyQmdCZ0g0QjtBaEdtOFc5QjtBZ0dsOFdVO0VBQ0U7RUFDQTtBaEdvOFdaO0FnR2w4V1U7RUFDRTtBaEdvOFdaO0FnR2g4V007RUFDRTtFQUNBO0VBQ0EsVzVGekpHO0FKMmxYWDtBZ0c1N1dNOztFQUVFO0VBQ0EsVzVGbEtHO0FKZ21YWDtBZ0c1N1dNO0VBQ0U7QWhHODdXUjtBZ0c1N1dNO0VBQ0U7QWhHODdXUjtBZ0c1N1dNO0VBQ0U7QWhHODdXUjtBZ0c1N1dNO0VBQ0U7QWhHODdXUjtBZ0c1N1dNO0VBQ0U7QWhHODdXUjtBZ0cxN1dVO0VBQ0U7QWhHNDdXWjs7QWlHem5YQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9DL0V5RFM7RStFeERUO0FqRzRuWEY7QWlHMW5YRTtFQUNFO0FqRzRuWEo7QWlHem5YRTtFQUNFO0FqRzJuWEo7QWlHeG5YRTtFQUNFO0FqRzBuWEo7O0FpR3ZuWEE7QUFFRTtFQ3RCQTtFQUNBLFc5RklTO0FKNG9YWDs7QWlHM25YRTtFQ3RCQTtFQUNBLFc5RklTO0FKaXBYWDs7QWlHaG9YRTtFQ3RCQTtFQUNBLFc5RklTO0FKc3BYWDs7QWlHcm9YRTtFQ3RCQTtFQUNBLFc5RklTO0FKMnBYWDs7QWlHMW9YRTtFQ3RCQTtFQUNBLFc5RklTO0FKZ3FYWDs7QWlHL29YRTtFQ3RCQTtFQUNBLFc5RklTO0FKcXFYWDs7QWlHcHBYRTtFQ3RCQTtFQUNBLFc5RklTO0FKMHFYWDs7QWlHenBYRTtFQ3RCQTtFQUNBLFc5RklTO0FKK3FYWDs7QWlHMXBYQTtBQUVFO0VDbkJBO0VBQ0EsYzlGZ0VhO0FKZ25YZjs7QWlHOXBYRTtFQ25CQTtFQUNBLGM5RmdFYTtBSnFuWGY7O0FpR25xWEU7RUNuQkE7RUFDQSxjOUZnRWE7QUowblhmOztBaUd4cVhFO0VDbkJBO0VBQ0EsYzlGZ0VhO0FKK25YZjs7QWlHN3FYRTtFQ25CQTtFQUNBLGM5RmdFYTtBSm9vWGY7O0FpR2xyWEU7RUNuQkE7RUFDQSxjOUZnRWE7QUp5b1hmOztBaUd2clhFO0VDbkJBO0VBQ0EsYzlGZ0VhO0FKOG9YZjs7QWlHNXJYRTtFQ25CQTtFQUNBLGM5RmdFYTtBSm1wWGY7O0FpRzdyWEE7QUFFRTtFQzdCQSxjOUZxRWE7RThGcEViO0FsRzZ0WEY7O0FpR2pzWEU7RUM3QkEsYzlGcUVhO0U4RnBFYjtBbEdrdVhGOztBaUd0c1hFO0VDN0JBLGM5RnFFYTtFOEZwRWI7QWxHdXVYRjs7QWlHM3NYRTtFQzdCQSxjOUZxRWE7RThGcEViO0FsRzR1WEY7O0FpR2h0WEU7RUM3QkEsYzlGcUVhO0U4RnBFYjtBbEdpdlhGOztBaUdydFhFO0VDN0JBLGM5RnFFYTtFOEZwRWI7QWxHc3ZYRjs7QWlHMXRYRTtFQzdCQSxjOUZxRWE7RThGcEViO0FsRzJ2WEY7O0FpRy90WEU7RUM3QkEsYzlGcUVhO0U4RnBFYjtBbEdnd1hGOztBbUd4d1hBO0FBQ0E7RUFDRSxtQmpGZ0VrQjtBbEIyc1hwQjtBbUd6d1hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5HMndYSjs7QW1HdndYRTtFeERYQSxjd0RZc0Y7RTVFUHBGLHlDNEVPdUI7RXhEVnpCLHFCd0RVd0Q7QW5HNHdYMUQ7QTJDcHhYRTtFQUNFO0EzQ3N4WEo7QTJDbnhYRTtFQUNFO0EzQ3F4WEo7O0FtR254WEU7RXhEWEEsY3dEWXNGO0U1RVBwRiwwQzRFT3VCO0V4RFZ6QixxQndEVXdEO0FuR3d4WDFEO0EyQ2h5WEU7RUFDRTtBM0NreVhKO0EyQy94WEU7RUFDRTtBM0NpeVhKOztBbUcveFhFO0V4RFhBLGN3RFlzRjtFNUVQcEYseUM0RU91QjtFeERWekIscUJ3RFV3RDtBbkdveVgxRDtBMkM1eVhFO0VBQ0U7QTNDOHlYSjtBMkMzeVhFO0VBQ0U7QTNDNnlYSjs7QW1HM3lYRTtFeERYQSxjd0RZc0Y7RTVFUHBGLHdDNEVPdUI7RXhEVnpCLHFCd0RVd0Q7QW5HZ3pYMUQ7QTJDeHpYRTtFQUNFO0EzQzB6WEo7QTJDdnpYRTtFQUNFO0EzQ3l6WEo7O0FtR3Z6WEU7RXhEWEEsY3dEWXNGO0U1RVBwRix5QzRFT3VCO0V4RFZ6QixxQndEVXdEO0FuRzR6WDFEO0EyQ3AwWEU7RUFDRTtBM0NzMFhKO0EyQ24wWEU7RUFDRTtBM0NxMFhKOztBbUduMFhFO0V4RFhBLGN3RFlzRjtFNUVQcEYsd0M0RU91QjtFeERWekIscUJ3RFV3RDtBbkd3MFgxRDtBMkNoMVhFO0VBQ0U7QTNDazFYSjtBMkMvMFhFO0VBQ0U7QTNDaTFYSjs7QW1HLzBYRTtFeERYQSxjd0RZc0Y7RTVFUHBGLDBDNEVPdUI7RXhEVnpCLHFCd0RVd0Q7QW5HbzFYMUQ7QTJDNTFYRTtFQUNFO0EzQzgxWEo7QTJDMzFYRTtFQUNFO0EzQzYxWEo7O0FtRzMxWEU7RXhEWEEsY3dEWXNGO0U1RVBwRixzQzRFT3VCO0V4RFZ6QixxQndEVXdEO0FuR2cyWDFEO0EyQ3gyWEU7RUFDRTtBM0MwMlhKO0EyQ3YyWEU7RUFDRTtBM0N5MlhKOztBbUdsMlhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuR3UyWGhEO0EyQ3AzWEU7RUFDRTtBM0NzM1hKO0EyQ24zWEU7RUFDRTtBM0NxM1hKOztBbUc5MlhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuR20zWGhEO0EyQ2g0WEU7RUFDRTtBM0NrNFhKO0EyQy8zWEU7RUFDRTtBM0NpNFhKOztBbUcxM1hFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuRyszWGhEO0EyQzU0WEU7RUFDRTtBM0M4NFhKO0EyQzM0WEU7RUFDRTtBM0M2NFhKOztBbUd0NFhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuRzI0WGhEO0EyQ3g1WEU7RUFDRTtBM0MwNVhKO0EyQ3Y1WEU7RUFDRTtBM0N5NVhKOztBbUdsNVhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuR3U1WGhEO0EyQ3A2WEU7RUFDRTtBM0NzNlhKO0EyQ242WEU7RUFDRTtBM0NxNlhKOztBbUc5NVhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuR202WGhEO0EyQ2g3WEU7RUFDRTtBM0NrN1hKO0EyQy82WEU7RUFDRTtBM0NpN1hKOztBbUcxNlhFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuRys2WGhEO0EyQzU3WEU7RUFDRTtBM0M4N1hKO0EyQzM3WEU7RUFDRTtBM0M2N1hKOztBbUd0N1hFO0V4RGhCQSxXd0RpQm1FO0U1RVpqRSx5QjRFWXVCO0V4RGZ6QixxQndEZThDO0FuRzI3WGhEO0EyQ3g4WEU7RUFDRTtBM0MwOFhKO0EyQ3Y4WEU7RUFDRTtBM0N5OFhKOztBb0duOVhBO0FBQ0E7RXpGaUJJO0V5RmZGO0FwR3M5WEY7QW9HcDlYRTtFekZhRTtBWDA4WEo7QW9HbjlYRTtFQUNFO0FwR3E5WEo7QW9HbDlYRTtFQUNFO0FwR285WEo7QW9HajlYRTtFQUNFO0FwR205WEo7QW9HaDlYRTtFQUNFO0FwR2s5WEo7QW9HLzhYRTtFQUNFO0FwR2k5WEo7O0FxRzMrWEE7QUFDQTtFQUNFLG1CbkZ5SG9CO0VtRnhIcEIsb0NuRjZEUztBbEJpN1hYO0FxRzUrWEU7RUFDRTtBckc4K1hKO0FxRzErWEk7RUFDRTtFQUNBO0VBQ0E7QXJHNCtYTjtBcUd6K1hJO0VBQ0U7QXJHMitYTjtBcUd4K1hJO0VBQ0U7QXJHMCtYTjtBcUd0K1hFO0UxRlBFO0FYZy9YSjtBcUdyK1hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckd1K1hKO0FxR3IrWEk7RUFDRTtFQUNBO0FyR3UrWE47QXFHbitYRTtFQUNFLGdCbkZrRXdCO0FsQm02WDVCO0FxR2orWEk7RUFDRTtBckdtK1hOO0FxRy85WEU7RUFDRSxhbkZnRndCO0FsQmk1WDVCO0FxRy85WEk7RUFDRTtFQUNBLGVuRjZFc0I7QWxCbzVYNUI7QXFHNzlYRTtFQUNFLG1CbkYrRGtCO0FsQmc2WHRCO0FxRzU5WEU7RUFDRSxtQm5GNERrQjtBbEJrNlh0QjtBcUczOVhFO0VBQ0U7RUFDQSxtQm5GcURrQjtBbEJ3Nlh0QjtBcUcxOVhFO0VBS0UsV2pHeEVPO0FKZ2lZWDtBcUdyOVhFO0VBQ0U7RUFDQTtBckd1OVhKO0FxR3A5WEU7RUFDRSxzQmpHakZPO0VpR2tGUDtFQUNBO0FyR3M5WEo7QXFHcDlYSTtFQUNFO0VBQ0E7QXJHczlYTjs7QXFHajlYQTtFQUNFO0UxRmxGRTtBWHVpWUo7QXFHbDlYRTtFQUNFO0VBQ0E7RUFDQTtBckdvOVhKO0FxR2w5WEk7RUFDRTtBckdvOVhOO0FxR2o5WEk7RUFDRTtBckdtOVhOO0FxR2g5WEk7RUFDRTtBckdrOVhOO0FxRy84WEk7RUFDRTtBckdpOVhOO0FxRzk4WEk7RUFDRTtBckdnOVhOO0FxRzc4WEk7RUFDRTtBckcrOFhOO0FxRzU4WEk7RUFDRTtBckc4OFhOO0FxRzM4WEk7RUFDRTtBckc2OFhOO0FxRzE4WEk7RUFDRTtBckc0OFhOOztBcUdoOFhBO0FBRUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHNmxZRDtBc0czbFlDO0VBQ0M7QXRHNmxZRjtBc0cxbFlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHMDhYM0I7QXNHMWxZRTtFQUNDO0F0RzRsWUg7O0FxRzk4WEU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHNG1ZRDtBc0cxbVlDO0VBQ0M7QXRHNG1ZRjtBc0d6bVlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHeTlYM0I7QXNHem1ZRTtFQUNDO0F0RzJtWUg7O0FxRzc5WEU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHMm5ZRDtBc0d6bllDO0VBQ0M7QXRHMm5ZRjtBc0d4bllDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHdytYM0I7QXNHeG5ZRTtFQUNDO0F0RzBuWUg7O0FxRzUrWEU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHMG9ZRDtBc0d4b1lDO0VBQ0M7QXRHMG9ZRjtBc0d2b1lDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHdS9YM0I7QXNHdm9ZRTtFQUNDO0F0R3lvWUg7O0FxRzMvWEU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHeXBZRDtBc0d2cFlDO0VBQ0M7QXRHeXBZRjtBc0d0cFlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHc2dZM0I7QXNHdHBZRTtFQUNDO0F0R3dwWUg7O0FxRzFnWUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHd3FZRDtBc0d0cVlDO0VBQ0M7QXRHd3FZRjtBc0dycVlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHcWhZM0I7QXNHcnFZRTtFQUNDO0F0R3VxWUg7O0FxR3poWUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHdXJZRDtBc0dycllDO0VBQ0M7QXRHdXJZRjtBc0dwcllDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHb2lZM0I7QXNHcHJZRTtFQUNDO0F0R3NyWUg7O0FxR3hpWUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHc3NZRDtBc0dwc1lDO0VBQ0M7QXRHc3NZRjtBc0duc1lDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHbWpZM0I7QXNHbnNZRTtFQUNDO0F0R3FzWUg7O0FxR3ZqWUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHcXRZRDtBc0dudFlDO0VBQ0M7QXRHcXRZRjtBc0dsdFlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHa2tZM0I7QXNHbHRZRTtFQUNDO0F0R290WUg7O0FxR3RrWUU7RUMxSkQsbUJEMkowQjtFQzFKMUI7QXRHb3VZRDtBc0dsdVlDO0VBQ0M7QXRHb3VZRjtBc0dqdVlDO0VBQ0M7RUFDQSxjRGtKeUI7QXJHaWxZM0I7QXNHanVZRTtFQUNDO0F0R211WUg7O0FxR2psWUE7QUFFRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckdxbFl4QztBc0dqdVlDO0VBQ0M7QXRHbXVZRjs7QXFHemxZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckc4bFl4QztBc0cxdVlDO0VBQ0M7QXRHNHVZRjs7QXFHbG1ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckd1bVl4QztBc0dudllDO0VBQ0M7QXRHcXZZRjs7QXFHM21ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckdnbll4QztBc0c1dllDO0VBQ0M7QXRHOHZZRjs7QXFHcG5ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckd5bll4QztBc0dyd1lDO0VBQ0M7QXRHdXdZRjs7QXFHN25ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckdrb1l4QztBc0c5d1lDO0VBQ0M7QXRHZ3hZRjs7QXFHdG9ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckcyb1l4QztBc0d2eFlDO0VBQ0M7QXRHeXhZRjs7QXFHL29ZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckdvcFl4QztBc0doeVlDO0VBQ0M7QXRHa3lZRjs7QXFHeHBZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckc2cFl4QztBc0d6eVlDO0VBQ0M7QXRHMnlZRjs7QXFHanFZRTtFQy9JRDtFQUNBLHFCRCtJdUM7RUM5SXZDLGNEOEl1QztBckdzcVl4QztBc0dsellDO0VBQ0M7QXRHb3pZRjs7QXFHdHFZQTtBQUVFO0VDNUlELGNsR2lEYztFa0doRGQ7RUFDQTtFQUNBO0F0R3F6WUQ7QU12MFlFO0VnR29CQSxXbEd6QlM7RWtHMEJULHlCbEcyQ2E7RWtHMUNiLHFCbEcwQ2E7QUo0d1lmO0FzR256WUM7RUFFQztBdEdvellGO0FzR2p6WUM7RUFFQyxjbEdnQ2E7RWtHL0JiO0F0R2t6WUY7QXNHL3lZQztFQUdDLFdsRzVDUztFa0c2Q1QseUJsR3dCYTtFa0d2QmIscUJsR3VCYTtBSnd4WWY7O0FxRzdyWUU7RUM1SUQsY2xHaURjO0VrR2hEZDtFQUNBO0VBQ0E7QXRHNjBZRDtBTS8xWUU7RWdHb0JBLFdsR3pCUztFa0cwQlQseUJsRzJDYTtFa0cxQ2IscUJsRzBDYTtBSm95WWY7QXNHMzBZQztFQUVDO0F0RzQwWUY7QXNHejBZQztFQUVDLGNsR2dDYTtFa0cvQmI7QXRHMDBZRjtBc0d2MFlDO0VBR0MsV2xHNUNTO0VrRzZDVCx5QmxHd0JhO0VrR3ZCYixxQmxHdUJhO0FKZ3pZZjs7QXFHcnRZRTtFQzVJRCxjbEdpRGM7RWtHaERkO0VBQ0E7RUFDQTtBdEdxMllEO0FNdjNZRTtFZ0dvQkEsV2xHekJTO0VrRzBCVCx5QmxHMkNhO0VrRzFDYixxQmxHMENhO0FKNHpZZjtBc0duMllDO0VBRUM7QXRHbzJZRjtBc0dqMllDO0VBRUMsY2xHZ0NhO0VrRy9CYjtBdEdrMllGO0FzRy8xWUM7RUFHQyxXbEc1Q1M7RWtHNkNULHlCbEd3QmE7RWtHdkJiLHFCbEd1QmE7QUp3MFlmOztBcUc3dVlFO0VDNUlELGNsR2lEYztFa0doRGQ7RUFDQTtFQUNBO0F0RzYzWUQ7QU0vNFlFO0VnR29CQSxXbEd6QlM7RWtHMEJULHlCbEcyQ2E7RWtHMUNiLHFCbEcwQ2E7QUpvMVlmO0FzRzMzWUM7RUFFQztBdEc0M1lGO0FzR3ozWUM7RUFFQyxjbEdnQ2E7RWtHL0JiO0F0RzAzWUY7QXNHdjNZQztFQUdDLFdsRzVDUztFa0c2Q1QseUJsR3dCYTtFa0d2QmIscUJsR3VCYTtBSmcyWWY7O0FxR3J3WUU7RUM1SUQsY2xHaURjO0VrR2hEZDtFQUNBO0VBQ0E7QXRHcTVZRDtBTXY2WUU7RWdHb0JBLFdsR3pCUztFa0cwQlQseUJsRzJDYTtFa0cxQ2IscUJsRzBDYTtBSjQyWWY7QXNHbjVZQztFQUVDO0F0R281WUY7QXNHajVZQztFQUVDLGNsR2dDYTtFa0cvQmI7QXRHazVZRjtBc0cvNFlDO0VBR0MsV2xHNUNTO0VrRzZDVCx5QmxHd0JhO0VrR3ZCYixxQmxHdUJhO0FKdzNZZjs7QXFHN3hZRTtFQzVJRCxjbEdpRGM7RWtHaERkO0VBQ0E7RUFDQTtBdEc2NllEO0FNLzdZRTtFZ0dvQkEsV2xHekJTO0VrRzBCVCx5QmxHMkNhO0VrRzFDYixxQmxHMENhO0FKbzRZZjtBc0czNllDO0VBRUM7QXRHNDZZRjtBc0d6NllDO0VBRUMsY2xHZ0NhO0VrRy9CYjtBdEcwNllGO0FzR3Y2WUM7RUFHQyxXbEc1Q1M7RWtHNkNULHlCbEd3QmE7RWtHdkJiLHFCbEd1QmE7QUpnNVlmOztBcUdyellFO0VDNUlELGNsR2lEYztFa0doRGQ7RUFDQTtFQUNBO0F0R3E4WUQ7QU12OVlFO0VnR29CQSxXbEd6QlM7RWtHMEJULHlCbEcyQ2E7RWtHMUNiLHFCbEcwQ2E7QUo0NVlmO0FzR244WUM7RUFFQztBdEdvOFlGO0FzR2o4WUM7RUFFQyxjbEdnQ2E7RWtHL0JiO0F0R2s4WUY7QXNHLzdZQztFQUdDLFdsRzVDUztFa0c2Q1QseUJsR3dCYTtFa0d2QmIscUJsR3VCYTtBSnc2WWY7O0FxRzcwWUU7RUM1SUQsY2xHaURjO0VrR2hEZDtFQUNBO0VBQ0E7QXRHNjlZRDtBTS8rWUU7RWdHb0JBLFdsR3pCUztFa0cwQlQseUJsRzJDYTtFa0cxQ2IscUJsRzBDYTtBSm83WWY7QXNHMzlZQztFQUVDO0F0RzQ5WUY7QXNHejlZQztFQUVDLGNsR2dDYTtFa0cvQmI7QXRHMDlZRjtBc0d2OVlDO0VBR0MsV2xHNUNTO0VrRzZDVCx5QmxHd0JhO0VrR3ZCYixxQmxHdUJhO0FKZzhZZjs7QXFHajJZQTtBQUVFO0VDcEhELGNsR21CYztFa0dsQmQ7RUFDQTtFQUNBO0F0R3c5WUQ7QU14Z1pFO0VnR2tEQSxjbEdjYTtFa0diYjtFQUNBO0F0R3k5WUY7QXNHdDlZQztFQUVDO0F0R3U5WUY7QXNHcDlZQztFQUVDLGNsR0VhO0VrR0RiO0F0R3E5WUY7QXNHbDlZQztFQUdDLFdsRzFFUztFa0cyRVQscUJsR05hO0FKdzlZZjs7QXFHdjNZRTtFQ3BIRCxjbEdtQmM7RWtHbEJkO0VBQ0E7RUFDQTtBdEcrK1lEO0FNL2haRTtFZ0drREEsY2xHY2E7RWtHYmI7RUFDQTtBdEdnL1lGO0FzRzcrWUM7RUFFQztBdEc4K1lGO0FzRzMrWUM7RUFFQyxjbEdFYTtFa0dEYjtBdEc0K1lGO0FzR3orWUM7RUFHQyxXbEcxRVM7RWtHMkVULHFCbEdOYTtBSisrWWY7O0FxRzk0WUU7RUNwSEQsY2xHbUJjO0VrR2xCZDtFQUNBO0VBQ0E7QXRHc2daRDtBTXRqWkU7RWdHa0RBLGNsR2NhO0VrR2JiO0VBQ0E7QXRHdWdaRjtBc0dwZ1pDO0VBRUM7QXRHcWdaRjtBc0dsZ1pDO0VBRUMsY2xHRWE7RWtHRGI7QXRHbWdaRjtBc0doZ1pDO0VBR0MsV2xHMUVTO0VrRzJFVCxxQmxHTmE7QUpzZ1pmOztBcUdyNllFO0VDcEhELGNsR21CYztFa0dsQmQ7RUFDQTtFQUNBO0F0RzZoWkQ7QU03a1pFO0VnR2tEQSxjbEdjYTtFa0diYjtFQUNBO0F0RzhoWkY7QXNHM2haQztFQUVDO0F0RzRoWkY7QXNHemhaQztFQUVDLGNsR0VhO0VrR0RiO0F0RzBoWkY7QXNHdmhaQztFQUdDLFdsRzFFUztFa0cyRVQscUJsR05hO0FKNmhaZjs7QXFHNTdZRTtFQ3BIRCxjbEdtQmM7RWtHbEJkO0VBQ0E7RUFDQTtBdEdvalpEO0FNcG1aRTtFZ0drREEsY2xHY2E7RWtHYmI7RUFDQTtBdEdxalpGO0FzR2xqWkM7RUFFQztBdEdtalpGO0FzR2hqWkM7RUFFQyxjbEdFYTtFa0dEYjtBdEdpalpGO0FzRzlpWkM7RUFHQyxXbEcxRVM7RWtHMkVULHFCbEdOYTtBSm9qWmY7O0FxR245WUU7RUNwSEQsY2xHbUJjO0VrR2xCZDtFQUNBO0VBQ0E7QXRHMmtaRDtBTTNuWkU7RWdHa0RBLGNsR2NhO0VrR2JiO0VBQ0E7QXRHNGtaRjtBc0d6a1pDO0VBRUM7QXRHMGtaRjtBc0d2a1pDO0VBRUMsY2xHRWE7RWtHRGI7QXRHd2taRjtBc0dya1pDO0VBR0MsV2xHMUVTO0VrRzJFVCxxQmxHTmE7QUoya1pmOztBcUcxK1lFO0VDcEhELGNsR21CYztFa0dsQmQ7RUFDQTtFQUNBO0F0R2ttWkQ7QU1scFpFO0VnR2tEQSxjbEdjYTtFa0diYjtFQUNBO0F0R21tWkY7QXNHaG1aQztFQUVDO0F0R2ltWkY7QXNHOWxaQztFQUVDLGNsR0VhO0VrR0RiO0F0RytsWkY7QXNHNWxaQztFQUdDLFdsRzFFUztFa0cyRVQscUJsR05hO0FKa21aZjs7QXFHamdaRTtFQ3BIRCxjbEdtQmM7RWtHbEJkO0VBQ0E7RUFDQTtBdEd5blpEO0FNenFaRTtFZ0drREEsY2xHY2E7RWtHYmI7RUFDQTtBdEcwblpGO0FzR3ZuWkM7RUFFQztBdEd3blpGO0FzR3JuWkM7RUFFQyxjbEdFYTtFa0dEYjtBdEdzblpGO0FzR25uWkM7RUFHQyxXbEcxRVM7RWtHMkVULHFCbEdOYTtBSnluWmY7O0F1R3JzWkE7QUFDQTtFQUNFO0F2R3dzWkY7QXVHdHNaRTtFQUNFLG1CckY2RGdCO0FsQjJvWnBCO0F1R25zWkU7RUFDRTtFQUNBLHFCckY4TWdDO0FsQnUvWXBDO0F1R25zWkk7RUFDRSxtQnJGbURjO0VxRmxEZCxtQnJGME04QjtFcUZ6TTlCO0VBQ0EsV25HREs7RW1HRUw7RUFDQTtBdkdxc1pOO0F1R25zWk07RUFDRTtBdkdxc1pSO0F1R2xzWk07RUFDRTtBdkdvc1pSO0F1R2pzWk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2R21zWlI7QXVHanNaUTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2R2tzWlY7QXVHL3JaUTtFQUNFO0VBQ0E7RUFDQSwwQnJGdUswQjtFcUZ0SzFCO0VBQ0E7QXZHaXNaVjtBdUc5clpRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkdnc1pWO0F1RzVyWk07RUFDRTtFQUNBO0F2RzhyWlI7QXVHdnJaRTtFQU1FO0F2R29yWko7QXVHbHJaSTtFQUNFLFduRzVFSztBSmd3Wlg7QXVHbHJaTTtFQUNFO0F2R29yWlI7QXVHanJaTTs7Ozs7OztFQUVFO0F2R3dyWlI7O0F1R25yWkE7QUM5RkU7RUFDRTtFQUNBLHFCcEd3RVc7QUo2c1pmO0F3R254Wkk7RUFDRSxjcEdxRVM7QUpndFpmO0F3R254Wk07RUFDRTtBeEdxeFpSO0F3R2x4Wk07RUFDRTtBeEdveFpSO0F3R2h4Wkk7RUFDRSxtQnBHeURTO0FKeXRaZjtBd0doeFpNO0VBQ0U7QXhHa3haUjtBd0doeFpRO0VBQ0UsY3BHbURLO0VvR2xETDtBeEdreFpWO0F3R2h4WlU7RUFDRTtBeEdreFpaO0F3Rzl3WlE7RUFDRSxjcEcwQ0s7QUpzdVpmO0F3Rzd3WlE7RUFDRTtBeEcrd1pWOztBd0duelpFO0VBQ0U7RUFDQSxxQnBHd0VXO0FKOHVaZjtBd0dwelpJO0VBQ0UsY3BHcUVTO0FKaXZaZjtBd0dwelpNO0VBQ0U7QXhHc3paUjtBd0duelpNO0VBQ0U7QXhHcXpaUjtBd0dqelpJO0VBQ0UsbUJwR3lEUztBSjB2WmY7QXdHanpaTTtFQUNFO0F4R216WlI7QXdHanpaUTtFQUNFLGNwR21ESztFb0dsREw7QXhHbXpaVjtBd0dqelpVO0VBQ0U7QXhHbXpaWjtBd0cveVpRO0VBQ0UsY3BHMENLO0FKdXdaZjtBd0c5eVpRO0VBQ0U7QXhHZ3paVjs7QXdHcDFaRTtFQUNFO0VBQ0EscUJwR3dFVztBSit3WmY7QXdHcjFaSTtFQUNFLGNwR3FFUztBSmt4WmY7QXdHcjFaTTtFQUNFO0F4R3UxWlI7QXdHcDFaTTtFQUNFO0F4R3MxWlI7QXdHbDFaSTtFQUNFLG1CcEd5RFM7QUoyeFpmO0F3R2wxWk07RUFDRTtBeEdvMVpSO0F3R2wxWlE7RUFDRSxjcEdtREs7RW9HbERMO0F4R28xWlY7QXdHbDFaVTtFQUNFO0F4R28xWlo7QXdHaDFaUTtFQUNFLGNwRzBDSztBSnd5WmY7QXdHLzBaUTtFQUNFO0F4R2kxWlY7O0F3R3IzWkU7RUFDRTtFQUNBLHFCcEd3RVc7QUpnelpmO0F3R3QzWkk7RUFDRSxjcEdxRVM7QUptelpmO0F3R3QzWk07RUFDRTtBeEd3M1pSO0F3R3IzWk07RUFDRTtBeEd1M1pSO0F3R24zWkk7RUFDRSxtQnBHeURTO0FKNHpaZjtBd0duM1pNO0VBQ0U7QXhHcTNaUjtBd0duM1pRO0VBQ0UsY3BHbURLO0VvR2xETDtBeEdxM1pWO0F3R24zWlU7RUFDRTtBeEdxM1paO0F3R2ozWlE7RUFDRSxjcEcwQ0s7QUp5MFpmO0F3R2gzWlE7RUFDRTtBeEdrM1pWOztBd0d0NVpFO0VBQ0U7RUFDQSxxQnBHd0VXO0FKaTFaZjtBd0d2NVpJO0VBQ0UsY3BHcUVTO0FKbzFaZjtBd0d2NVpNO0VBQ0U7QXhHeTVaUjtBd0d0NVpNO0VBQ0U7QXhHdzVaUjtBd0dwNVpJO0VBQ0UsbUJwR3lEUztBSjYxWmY7QXdHcDVaTTtFQUNFO0F4R3M1WlI7QXdHcDVaUTtFQUNFLGNwR21ESztFb0dsREw7QXhHczVaVjtBd0dwNVpVO0VBQ0U7QXhHczVaWjtBd0dsNVpRO0VBQ0UsY3BHMENLO0FKMDJaZjtBd0dqNVpRO0VBQ0U7QXhHbTVaVjs7QXdHdjdaRTtFQUNFO0VBQ0EscUJwR3dFVztBSmszWmY7QXdHeDdaSTtFQUNFLGNwR3FFUztBSnEzWmY7QXdHeDdaTTtFQUNFO0F4RzA3WlI7QXdHdjdaTTtFQUNFO0F4R3k3WlI7QXdHcjdaSTtFQUNFLG1CcEd5RFM7QUo4M1pmO0F3R3I3Wk07RUFDRTtBeEd1N1pSO0F3R3I3WlE7RUFDRSxjcEdtREs7RW9HbERMO0F4R3U3WlY7QXdHcjdaVTtFQUNFO0F4R3U3Wlo7QXdHbjdaUTtFQUNFLGNwRzBDSztBSjI0WmY7QXdHbDdaUTtFQUNFO0F4R283WlY7O0F3R3g5WkU7RUFDRTtFQUNBLHFCcEd3RVc7QUptNVpmO0F3R3o5Wkk7RUFDRSxjcEdxRVM7QUpzNVpmO0F3R3o5Wk07RUFDRTtBeEcyOVpSO0F3R3g5Wk07RUFDRTtBeEcwOVpSO0F3R3Q5Wkk7RUFDRSxtQnBHeURTO0FKKzVaZjtBd0d0OVpNO0VBQ0U7QXhHdzlaUjtBd0d0OVpRO0VBQ0UsY3BHbURLO0VvR2xETDtBeEd3OVpWO0F3R3Q5WlU7RUFDRTtBeEd3OVpaO0F3R3A5WlE7RUFDRSxjcEcwQ0s7QUo0NlpmO0F3R245WlE7RUFDRTtBeEdxOVpWOztBd0d6L1pFO0VBQ0U7RUFDQSxxQnBHd0VXO0FKbzdaZjtBd0cxL1pJO0VBQ0UsY3BHcUVTO0FKdTdaZjtBd0cxL1pNO0VBQ0U7QXhHNC9aUjtBd0d6L1pNO0VBQ0U7QXhHMi9aUjtBd0d2L1pJO0VBQ0UsbUJwR3lEUztBSmc4WmY7QXdHdi9aTTtFQUNFO0F4R3kvWlI7QXdHdi9aUTtFQUNFLGNwR21ESztFb0dsREw7QXhHeS9aVjtBd0d2L1pVO0VBQ0U7QXhHeS9aWjtBd0dyL1pRO0VBQ0UsY3BHMENLO0FKNjhaZjtBd0dwL1pRO0VBQ0U7QXhHcy9aVjs7QXlHNWhhQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpHK2hhRjtBeUc5aGFFO0VBQ0U7QXpHZ2lhSjtBeUc5aGFJO0VBQ0U7QXpHZ2lhTjtBeUc1aGFFO0VBQ0U7QXpHOGhhSjtBeUczaGFFO0VBQ0U7QXpHNmhhSjtBeUcxaGFFO0VBQ0U7QXpHNGhhSjtBeUd6aGFFO0VBQ0U7QXpHMmhhSjtBeUd4aGFFO0VBQ0U7QXpHMGhhSjtBeUd2aGFFO0U5RmhCRTtBWDBpYUo7QXlHdGhhRTtFQUNFO0VBQ0E7QXpHd2hhSjtBeUdyaGFFO0VBQ0UsV3JHckNPO0VxR3NDUDtBekd1aGFKOztBeUduaGFFO0VDL0NBLG1DRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6R3doYS9GOztBeUd6aGFFO0VDL0NBLG9DRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6RzhoYS9GOztBeUcvaGFFO0VDL0NBLG1DRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6R29pYS9GOztBeUdyaWFFO0VDL0NBLGtDRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6RzBpYS9GOztBeUczaWFFO0VDL0NBLG1DRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6R2dqYS9GOztBeUdqamFFO0VDL0NBLGtDRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6R3NqYS9GOztBeUd2amFFO0VDL0NBLG9DRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6RzRqYS9GOztBeUc3amFFO0VDL0NBLGdDRGdEZ0M7RUMvQ2hDO0VBQ0EsY0Q4QzZGO0F6R2trYS9GOztBMkdwbmFBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzR3NuYUY7QTJHcG5hRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CekZxRGdCO0V5RnBEaEI7QTNHc25hSjtBMkdybmFJO0VBQ0U7RUFDQTtBM0d1bmFOO0EyR3BuYUk7RUFDRTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNHa25hTjtBMkczbmFNO0VBQ0U7RUFDQTtBM0c2bmFSO0EyR2xuYVE7RUFFRTtFQUNBO0VBQ0E7QTNHbW5hVjtBMkdsbmFVO0VBQ0U7RUFDQTtBM0dvbmFaO0EyR2puYVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCbEJSLGUyQm1CNEI7RUFDcEI7RUFFQTtBM0d1bmFWO0EyR3BuYVE7RTNCekJOLGUyQjBCNEI7RUFDcEI7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRzBuYVY7QTJHcm5hVTtFQUNFLGdCdkc1RUQ7RXVHNkVDO0EzR3VuYVo7QTJHcm5hVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QTNHdW5hWjtBMkdobmFVO0VBQ0UscUJ6Ri9ERztBbEJpcmFmO0EyRzVtYVk7RUFDRSxnQnZHdEdIO0V1R3VHRyxjekZ2RUM7QWxCcXJhZjtBMkd0bWFRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQmhHUixlMkJpRzRCO0VBQ3BCO0VBRUE7QTNHd21hVjtBMkdwbmFVO0VBQ0U7RUFDQTtBM0dzbmFaO0EyR3ptYVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0EzR3VtYVY7QTJHdm5hVTtFQUNFO0VBQ0E7QTNHeW5hWjtBMkdybWFVO0VBQ0UsZ0J2R2xLRDtFdUdtS0M7QTNHdW1hWjtBMkdwbWFVO0VBQ0U7RUFDQTtFQUNBO0VBSUE7QTNHc21hWjtBMkcvbGFVO0VBQ0UscUJ6RnJKRztBbEJzdmFmO0EyRzNsYVk7RUFDRSxnQnZHNUxIO0FKeXhhWDtBMkcxbGFZO0VBQ0UsbUJ6RmhLQztBbEI0dmFmOztBMkc1a2FjO0VBQ0UsZ0J2R2pOTDtBSmd5YVg7QTJHN2thYztFQUNFLGN2Ry9JRDtBSjh0YWY7QTJHdmthYztFQUNFLHFCdkd4SkQ7QUppdWFmO0EyR3ZrYWM7RUFDRSxtQnZHM0pEO0FKb3VhZjs7QTJHemxhYztFQUNFLGdCdkdqTkw7QUo2eWFYO0EyRzFsYWM7RUFDRSxjdkcvSUQ7QUoydWFmO0EyR3BsYWM7RUFDRSxxQnZHeEpEO0FKOHVhZjtBMkdwbGFjO0VBQ0UsbUJ2RzNKRDtBSml2YWY7O0EyR3RtYWM7RUFDRSxnQnZHak5MO0FKMHphWDtBMkd2bWFjO0VBQ0UsY3ZHL0lEO0FKd3ZhZjtBMkdqbWFjO0VBQ0UscUJ2R3hKRDtBSjJ2YWY7QTJHam1hYztFQUNFLG1CdkczSkQ7QUo4dmFmOztBMkdubmFjO0VBQ0UsZ0J2R2pOTDtBSnUwYVg7QTJHcG5hYztFQUNFLGN2Ry9JRDtBSnF3YWY7QTJHOW1hYztFQUNFLHFCdkd4SkQ7QUp3d2FmO0EyRzltYWM7RUFDRSxtQnZHM0pEO0FKMndhZjs7QTJHaG9hYztFQUNFLGdCdkdqTkw7QUpvMWFYO0EyR2pvYWM7RUFDRSxjdkcvSUQ7QUpreGFmO0EyRzNuYWM7RUFDRSxxQnZHeEpEO0FKcXhhZjtBMkczbmFjO0VBQ0UsbUJ2RzNKRDtBSnd4YWY7O0EyRzdvYWM7RUFDRSxnQnZHak5MO0FKaTJhWDtBMkc5b2FjO0VBQ0UsY3ZHL0lEO0FKK3hhZjtBMkd4b2FjO0VBQ0UscUJ2R3hKRDtBSmt5YWY7QTJHeG9hYztFQUNFLG1CdkczSkQ7QUpxeWFmOztBMkcxcGFjO0VBQ0UsZ0J2R2pOTDtBSjgyYVg7QTJHM3BhYztFQUNFLGN2Ry9JRDtBSjR5YWY7QTJHcnBhYztFQUNFLHFCdkd4SkQ7QUoreWFmO0EyR3JwYWM7RUFDRSxtQnZHM0pEO0FKa3phZjs7QTJHdnFhYztFQUNFLGdCdkdqTkw7QUoyM2FYO0EyR3hxYWM7RUFDRSxjdkcvSUQ7QUp5emFmO0EyR2xxYWM7RUFDRSxxQnZHeEpEO0FKNHphZjtBMkdscWFjO0VBQ0UsbUJ2RzNKRDtBSit6YWY7O0E0RzM0YUE7QUFDQTtFQUNFLG1CMUZnRWtCO0FsQjgwYXBCO0E0RzM0YUk7RUFDRTtBNUc2NGFOOztBNEd2NGFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RzA0YUo7O0E0R3A0YUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVHdTRhTjs7QTZHMzZhQTtBQUNBOzs7RUFFRTtFQUNBLGMzRjRJd0I7RTJGM0l4QjtFQUNBO0E3Rys2YUY7QTZHNzZhRTs7O0VBQ0U7RUFDQSxxQjNGNkJXO0FsQm81YWY7O0E2Rzc2YUE7Ozs7RUFDRTtFQUNBLG9DM0ZnRFM7RTJGL0NULGtCM0ZnSXdCO0UyRi9IeEI7RUFDQTtFQUNBO0E3R203YUY7QTZHajdhRTs7OztFQUNFO0E3R3M3YUo7QTZHbjdhRTs7OztFQUNFO0E3R3c3YUo7O0E2R243YUU7Ozs7RUFDRTtBN0d5N2FKOztBNkdwN2FFO0VBQ0UsbUIzRjJCZ0I7RTJGMUJoQjtFQUNBO0E3R3U3YUo7QTZHbjdhSTs7Ozs7RUFDRTtBN0d5N2FOO0E2R3I3YUU7RUFDRTtFQUNBO0E3R3U3YUo7QTZHcDdhRTtFQUNFO0E3R3M3YUo7O0E4RzkrYUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5HWUU7QVhzK2FKO0E4Ry8rYUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5R2kvYUo7QThHOSthTTs7RUFFRTtBOUdnL2FSOztBK0d0Z2JBO0FBQ0E7RUFDRTtFQUNBO0EvR3lnYkY7QStHdmdiRTtFQUNFLGdCM0dDTztFMkdBUDtFQUNBO0VBS0E7RUFFQTtFQUNBO0VBQ0Esb0M3RitDTztFNkY5Q1AsbUI3RmdEZ0I7QWxCczlhcEI7QStHcGdiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Hc2diTjs7QStHamdiQTtFQUNFO0VBQ0E7RUFDQTtFQU1BO0VBRUE7RUFFQTtBL0dnZ2JGOztBZ0gzaWJBO0FBQ0E7OztFQUdFO0VBQ0EsbUI5RjZEa0I7QWxCaS9hcEI7QWdINWliRTs7O0VBQ0U7QWhIZ2piSjs7QWdINWliQTs7O0VBR0U7RUFDQTtBaEgraWJGO0FnSDdpYkU7OztFQUNFO0FoSGlqYko7QWdIL2liSTs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSG1qYk47O0FnSDVpYkk7RUFDRTtFQUNBO0FoSCtpYk47O0FnSHhpYkk7RUFDRTtFQUNBO0FoSDJpYk47O0FnSHBpYkk7RUFDRTtFQUNBO0FoSHVpYk47O0FnSGxpYkE7RUFDRTtFQUNBO0VBQ0E7QWhIcWliRjtBZ0hwaWJFO0VBQ0U7RUFDQTtBaEhzaWJKO0FnSG5pYkU7RUFDRTtBaEhxaWJKO0FnSG5pYkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSHFpYk47QWdIbmliTTtFQUNFO0VBQ0E7QWhIcWliUjtBZ0hqaWJJO0VBQ0U7RUFDQTtFQUNBO0FoSG1pYk47QWdIL2hiRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEhpaWJKO0FnSGhpYkk7RUFDRTtFQUNBO0FoSGtpYk47O0FpSC9vYkE7QUNBQTtFQUNDO0FsSG1wYkQ7QWtIanBiQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEhtcGJGO0FrSGpwYkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtBbEhtcGJIO0FrSGpwYkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWxIbXBiSjtBa0hocGJHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0FsSGtwYko7QWtIL29iRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtBbEhpcGJKO0FrSDlvYkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QWxIZ3BiSjtBa0hwb2JBO0VBR0M7SUFFQztFbEgwb2JBO0FBQ0Y7QWtIemxiQTtFQUdDO0lBQ0M7RWxING5iQTtFa0h6bmJEO0lBQ0M7RWxIMm5iQTtFa0h4bmJEO0lBQ0M7RWxIMG5iQTtFa0h2bmJEO0lBQ0M7RWxIeW5iQTtFa0h0bmJEO0lBQ0M7RWxId25iQTtFa0hybmJEO0lBQ0M7RWxIdW5iQTtFa0hwbmJEO0lBQ0M7RWxIc25iQTtFa0hubmJEO0lBQ0M7RWxIcW5iQTtFa0hsbmJEO0lBQ0M7RWxIb25iQTtFa0hqbmJEO0lBQ0M7RWxIbW5iQTtFa0hobmJEO0lBQ0M7RWxIa25iQTtBQUNGO0FtSC94YkE7RUFDQztBbkhpeWJEOztBbUg5eGJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5IaXliRDs7QW1IOXhiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5IaXliRDs7QW1IOXhiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkhpeWJEOztBbUg5eGJBO0VBQ0M7QW5IaXliRDs7QW1IOXhiQTtFQUNDO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztBbkhpeWJEOztBbUg5eGJBO0VBQ0M7QW5IaXliRDs7QW1IOXhiQTtFQUNDO0FuSGl5YkQ7O0FtSDl4YkE7RUFDQztBbkhpeWJEOztBbUg5eGJBO0VBQ0M7QW5IaXliRDs7QW1IOXhiQTtFQUNDO0FuSGl5YkQ7O0FtSC94YkE7RUFDQztJQUNDO0lBQ0E7RW5Ia3liQTtFbUgveGJEO0lBQ0M7SUFDQTtFbkhpeWJBO0FBQ0Y7QW1IL3hiQTtFQUNDO0lBQ0M7SUFDQTtFbkhpeWJBO0VtSDl4YkQ7SUFDQztJQUNBO0VuSGd5YkE7RW1IN3hiRDtJQUNDO0VuSCt4YkE7RW1INXhiRDtJQUNDO0lBQ0E7RW5IOHhiQTtFbUgzeGJEO0lBQ0M7SUFDQTtFbkg2eGJBO0FBQ0Y7QW9ILzZiQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBIaTdiRjs7QW9ILzZiQTtFQUNFO0lBQ0U7RXBIazdiRjtFb0gvNmJBO0lBQ0U7RXBIaTdiRjtFb0g5NmJBO0lBQ0U7RXBIZzdiRjtFb0g3NmJBO0lBQ0U7SUFDQTtFcEgrNmJGO0FBQ0Y7QXFIejhiQTtBQUNBO0VBQ0M7SUFDQztFckgyOGJBO0VxSHg4YkQ7SUFDQztFckgwOGJBO0VxSHY4YkQ7SUFDQztFckh5OGJBO0FBQ0Y7QXFIdDhiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJIdzhiRDs7QXFIcjhiQTtFQUNDO0VBQ0EsV0N4QmE7RUR5QmIsWUN6QmE7RUQwQmI7QXJIdzhiRDs7QXFIcjhiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJIdzhiRDs7QXFIcjhiQTs7OztFQUlDO0VBQ0EsV0M1Q29CO0VENkNwQixZQzdDb0I7RUQ4Q3BCO0VBQ0E7QXJIdzhiRDs7QXFIcDhiQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FySHU4YkY7QXFIcDhiQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FySHM4YkY7O0FxSGo4YkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtBckhvOGJGO0FxSGo4YkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtBckhtOGJGOztBdUhuaGNBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SHNoY0Y7O0F1SG5oY0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2SHNoY0Y7O0F1SG5oY0E7RUFDRTtFQUNBO0F2SHNoY0Y7O0F1SG5oY0E7RUFDRTtBdkhzaGNGOztBdUhwaGNBO0VBQ0U7SUFJRTtFdkh1aGNGO0V1SHBoY0E7SUFJRTtFdkhzaGNGO0FBQ0Y7QXdIamtjQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEhta2NGOztBd0hoa2NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4SG1rY0Y7O0F3SGhrY0E7RUFDRTtBeEhta2NGOztBd0hoa2NBO0VBQ0U7QXhIbWtjRjs7QXdIaGtjQTtFQUNFO0F4SG1rY0Y7O0F3SGprY0E7RUFDRTtJQU1FO0V4SGtrY0Y7RXdIL2pjQTtJQUlFO0V4SGlrY0Y7QUFDRjtBeUg3bWNBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6SCttY0Y7O0F5SDVtY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBekgrbWNGOztBeUg1bWNBO0VBQ0U7QXpIK21jRjs7QXlINW1jQTtFQUNFO0F6SCttY0Y7O0F5SDVtY0E7RUFDRTtBekgrbWNGOztBeUg1bWNBO0VBQ0U7QXpIK21jRjs7QXlIN21jQTtFQUNFO0lBS0U7RXpIK21jRjtFeUg1bWNBO0lBSUU7RXpIOG1jRjtBQUNGO0EwSDNwY0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFINnBjRjs7QTBIMXBjQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExSDZwY0Y7O0EwSDFwY0E7RUFDRTtFQUNBO0ExSDZwY0Y7O0EwSDNwY0E7RUFDRTtJQUtFO0UxSDZwY0Y7RTBIMXBjQTtJQUlFO0UxSDRwY0Y7RTBIenBjQTtJQUlFO0UxSDJwY0Y7RTBIeHBjQTtJQUlFO0UxSDBwY0Y7QUFDRjtBMkgvc2NBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzSGl0Y0Y7O0EySDlzY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0hpdGNGOztBMkg5c2NBO0VBQ0U7QTNIaXRjRjs7QTJIOXNjQTtFQUNFO0EzSGl0Y0Y7O0EySDlzY0E7RUFDRTtBM0hpdGNGOztBMkgvc2NBO0VBQ0U7SUFFRTtFM0hpdGNGO0UySDlzY0E7SUFDRTtFM0hndGNGO0FBQ0Y7QTRIdHZjQTtBQUNBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVId3ZjRjs7QTRIcnZjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVId3ZjRjs7QTRIdHZjQTtFQUNFO0lBQ0U7RTVIeXZjRjtFNEh0dmNBO0lBQ0U7RTVId3ZjRjtFNEhydmNBO0lBQ0U7RTVIdXZjRjtBQUNGO0E2SHp4Y0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdIMnhjRjs7QTZIeHhjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdIMnhjRjs7QTZIenhjQTtFQUNFO0lBSUU7RTdINHhjRjtFNkh6eGNBO0lBSUU7RTdIMnhjRjtBQUNGO0E4SDN6Y0E7QUFFRTtFQUNFO0E5SDR6Y0o7QThIenpjTTtFQUNFO0E5SDJ6Y1I7QThIeHpjVTtFQUNFO0VBQ0E7RUFDQTtBOUgwemNaO0E4SHJ6Y007RUFDRTtBOUh1emNSO0E4SHB6Y007RUFDRTtBOUhzemNSOztBK0g3MGNBO0FBQ0E7RUFDRTtFQUNBO0EvSGcxY0Y7QStIOTBjRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvSGcxY0o7QStIOTBjSTtFQUNFO0VBQ0E7RUFDQSxnQzdHMEtZO0FsQnNxY2xCO0ErSDkwY007RUFDRTtBL0hnMWNSO0ErSDUwY1E7RUFDRTtBL0g4MGNWO0ErSDEwY007RUFHRTtBL0gwMGNSO0ErSHgwY1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0gwMGNWO0ErSHgwY1U7RUFDRTtFQUNBO0VwSHJCUjtBWGcyY0o7QStIdDBjUTtFQUNFO0VBR0E7QS9IczBjVjtBK0hwMGNVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0hzMGNaO0ErSGwwY1U7RUFDRTtFQUNBO0EvSG8wY1o7QStIOXpjUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvSGcwY1Y7QStIN3pjVTtFQUNFO0VBQ0E7QS9IK3pjWjs7QWdJMzRjQTtBQUdJOzs7RUFDRSxxQjlHbUNTO0U4R2pDVDtFQUNBO0VBTUE7QWhJMjRjTjtBZ0l6NGNNOzs7RUFDRTtBaEk2NGNSO0FnSXo0Y1E7OztFQUNFO0VBQ0E7RUFDQTtBaEk2NGNWO0FnSXA0Y007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtBaEkwNWNSO0FnSW41Y007Ozs7Ozs7O0VBQ0U7RXJIekJKO0FYczdjSjtBZ0l0NWNJOzs7O0VBQ0U7RUFDQTtBaEkyNWNOO0FnSXo1Y007Ozs7RUFDRTtBaEk4NWNSO0FnSTM1Y007Ozs7RUFDRTtBaElnNmNSO0FnSTc1Y007Ozs7Ozs7O0VySDVDRjtBWG05Y0o7QWdJNTVjUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VySHZESjtBWDArY0o7QWdJNzZjUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VySDdESjtBWGlnZEo7QWdJNTdjSTs7OztFQUNFO0VBQ0E7QWhJaThjTjtBZ0kvN2NNOzs7Ozs7OztFQUNFO0VySDFFSjtBWG1oZEo7QWdJbDhjSTs7OztFQUNFO0VBQ0E7QWhJdThjTjtBZ0lyOGNNOzs7O0VBQ0U7QWhJMDhjUjtBZ0l4OGNROzs7Ozs7Ozs7OztFckh4Rko7QVg2aWRKO0FnSWg5Y007Ozs7RUFDRTtBaElxOWNSO0FnSW45Y1E7Ozs7Ozs7Ozs7O0VySGhHSjtBWGdrZEo7QWdJMzljTTs7Ozs7Ozs7RXJIckdGO0FYMGtkSjs7QWdJLzljQTtBQ3pITTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUo0aGRmO0FpSTlsZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJcW1kTjtBaUlwbWRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKb25kWDs7QWlJdm5kTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUowamRmO0FpSTVuZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJbW9kTjtBaUlsb2RNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKa3BkWDs7QWlJcnBkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUp3bGRmO0FpSTFwZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJaXFkTjtBaUlocWRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKZ3JkWDs7QWlJbnJkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUpzbmRmO0FpSXhyZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJK3JkTjtBaUk5cmRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKOHNkWDs7QWlJanRkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUpvcGRmO0FpSXR0ZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJNnRkTjtBaUk1dGRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKNHVkWDs7QWlJL3VkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUprcmRmO0FpSXB2ZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJMnZkTjtBaUkxdmRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKMHdkWDs7QWlJN3dkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUpndGRmO0FpSWx4ZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJeXhkTjtBaUl4eGRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKd3lkWDs7QWlJM3lkTTs7Ozs7OztFQUNFLG1CN0h1RU87RTZIdEVQLHFCN0hzRU87QUo4dWRmO0FpSWh6ZEk7Ozs7OztFQUNFLGM3SGlFUztFNkhoRVQ7QWpJdXpkTjtBaUl0emRNOzs7Ozs7RUFDRTtFQUNBLHFCN0g2RE87RTZINURQLFc3SFRHO0FKczBkWDs7QWtJNzBkQTtBQUdFO0VBQ0M7QWxJODBkSDs7QWtJejBkQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxJNDBkRjtBa0l4MGRHO0VBQ0M7QWxJMDBkSjtBa0lwMGRHO0VBQ0M7QWxJczBkSjs7QWtJaDBkQTtFQUNDO0FsSW0wZEQ7QWtJL3pkRztFQUNDLHlCaEhpUGU7QWxCZ2xkbkI7QWtJOXpkRztFQUNDLHlCaEg2T2U7QWxCbWxkbkI7QWtJenpkRztFQUNDLDJCaEhxT2U7QWxCc2xkbkI7QWtJeHpkRztFQUNDLDJCaEhpT2U7QWxCeWxkbkI7QWtJbnpkRztFQUNDLDRCaEh5TmU7QWxCNGxkbkI7QWtJbHpkRztFQUNDLDRCaEhxTmU7QWxCK2xkbkI7QWtJL3lkRztFQUNDO0FsSWl6ZEo7QWtJMXlkRztFQUNDLDBCaEh1TWU7QWxCcW1kbkI7QWtJenlkRztFQUNDLDBCaEhtTWU7QWxCd21kbkI7QWtJdHlkQztFQUNDO0VBQ0E7RUFDQTtFQUNBLG1CaEgwTGlCO0FsQjhtZG5CO0FrSXJ5ZEM7RUFDQyxXOUhoRlM7RThIaUZULG1CaEhxTGlCO0FsQmtuZG5CO0FrSWx5ZEc7RUFDQywwQmhIK0tlO0FsQnFuZG5CO0FrSTd4ZEc7RUFDQywyQmhIdUtlO0FsQnduZG5COztBbUk3NGRDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUo2NGRYO0FtSTM0ZEc7RUFFQyx5QkQ0R3VCO0FsSWd5ZDNCO0FtSXI0ZEc7RUFFQywyQkRtR3VCO0FsSW15ZDNCO0FtSS8zZEc7RUFFQyw0QkQwRnVCO0FsSXN5ZDNCO0FtSXozZEc7RUFFQywwQkRpRnVCO0FsSXl5ZDNCOztBbUk5NWRDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUo4NWRYO0FtSTU1ZEc7RUFFQyx5QkQ0R3VCO0FsSWl6ZDNCO0FtSXQ1ZEc7RUFFQywyQkRtR3VCO0FsSW96ZDNCO0FtSWg1ZEc7RUFFQyw0QkQwRnVCO0FsSXV6ZDNCO0FtSTE0ZEc7RUFFQywwQkRpRnVCO0FsSTB6ZDNCOztBbUkvNmRDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUorNmRYO0FtSTc2ZEc7RUFFQyx5QkQ0R3VCO0FsSWswZDNCO0FtSXY2ZEc7RUFFQywyQkRtR3VCO0FsSXEwZDNCO0FtSWo2ZEc7RUFFQyw0QkQwRnVCO0FsSXcwZDNCO0FtSTM1ZEc7RUFFQywwQkRpRnVCO0FsSTIwZDNCOztBbUloOGRDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUpnOGRYO0FtSTk3ZEc7RUFFQyx5QkQ0R3VCO0FsSW0xZDNCO0FtSXg3ZEc7RUFFQywyQkRtR3VCO0FsSXMxZDNCO0FtSWw3ZEc7RUFFQyw0QkQwRnVCO0FsSXkxZDNCO0FtSTU2ZEc7RUFFQywwQkRpRnVCO0FsSTQxZDNCOztBbUlqOWRDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUppOWRYO0FtSS84ZEc7RUFFQyx5QkQ0R3VCO0FsSW8yZDNCO0FtSXo4ZEc7RUFFQywyQkRtR3VCO0FsSXUyZDNCO0FtSW44ZEc7RUFFQyw0QkQwRnVCO0FsSTAyZDNCO0FtSTc3ZEc7RUFFQywwQkRpRnVCO0FsSTYyZDNCOztBbUlsK2RDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUprK2RYO0FtSWgrZEc7RUFFQyx5QkQ0R3VCO0FsSXEzZDNCO0FtSTE5ZEc7RUFFQywyQkRtR3VCO0FsSXczZDNCO0FtSXA5ZEc7RUFFQyw0QkQwRnVCO0FsSTIzZDNCO0FtSTk4ZEc7RUFFQywwQkRpRnVCO0FsSTgzZDNCOztBbUluL2RDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUptL2RYO0FtSWovZEc7RUFFQyx5QkQ0R3VCO0FsSXM0ZDNCO0FtSTMrZEc7RUFFQywyQkRtR3VCO0FsSXk0ZDNCO0FtSXIrZEc7RUFFQyw0QkQwRnVCO0FsSTQ0ZDNCO0FtSS85ZEc7RUFFQywwQkRpRnVCO0FsSSs0ZDNCOztBbUlwZ2VDO0VBQ0MsbUJEb0h5QjtFQ25IekIsVy9IR1M7QUpvZ2VYO0FtSWxnZUc7RUFFQyx5QkQ0R3VCO0FsSXU1ZDNCO0FtSTUvZEc7RUFFQywyQkRtR3VCO0FsSTA1ZDNCO0FtSXQvZEc7RUFFQyw0QkQwRnVCO0FsSTY1ZDNCO0FtSWgvZEc7RUFFQywwQkRpRnVCO0FsSWc2ZDNCOztBb0l2aGVBO0FBRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEl5aGVGO0FvSXhoZUU7RUFSRDtJQVNFO0VwSTJoZUQ7QUFDRjtBb0l6aGVFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSTJoZUg7QW9JeGhlRTtFQUNDO0VBQ0EsV2hJbEJRO0VnSW1CUjtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSTBoZUg7QW9JeGhlRztFQUVDO0FwSXloZUo7QW9JcmhlRTtFQUNDO0FwSXVoZUg7QW9JcmhlRzs7RUFHQztBcEl1aGVKO0FvSXBoZUc7RUFFQztBcElzaGVKO0FvSW5oZUc7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSXFoZUo7QW9JbGhlRztFQUNDO0VBQ0E7RUFFQTtFQUVBO0FwSW9oZUo7QW9JaGhlSTtFQUVDO0FwSWtoZUw7QW9JL2dlSTtFQUVDO0FwSWloZUw7QW9JOWdlSTtFQUNDO0VBRUE7QXBJZ2hlTDs7QXFJem1lQTtBQUVFO0VBTUU7RUFFQTtFQUVBO0VBQ0E7RUFDQTtBckl1bWVKO0FxSXJtZUk7RUFDRTtBckl1bWVOO0FxSXBtZUk7RUFDRSxtQmpJWks7QUprbmVYO0FxSW5tZUk7RUFDRTtFQUNBO0FySXFtZU47QXFJbG1lSTtFQUNFO0VBQ0E7QXJJb21lTjtBcUlsbWVNOztFQUVFO0VBQ0E7RUFDQTtBcklvbWVSO0FxSWptZU07RUFDRTtFQUNBO0FySW1tZVI7QXFJam1lUTtFQUNFO0FySW1tZVY7QXFJL2xlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcklpbWVSO0FxSWpsZUk7RUFDRTtFQUNBO0FySW1sZU47QXFJamxlTTtFQUNFO0VBQ0E7QXJJbWxlUjtBcUlobGVNO0VBQ0U7QXJJa2xlUjtBcUlobGVRO0VBQ0U7QXJJa2xlVjtBcUk5a2VNO0VBQ0U7QXJJZ2xlUjtBcUk5a2VRO0VBQ0Usb0NuSC9CQztFbUhnQ0Q7RUFDQTtBcklnbGVWO0FxSTFrZUk7RUFLRTtFQUVBO0FySXlrZU47QXFJdmtlTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FySXlrZVI7QXFJdmtlUTtFQUNFO0FySXlrZVY7QXFJbGtlSTtFQUNFO0FySW9rZU47QXFJbGtlTTtFQUNFO0FySW9rZVI7QXFJamtlTTtFQUNFO0FySW1rZVI7QXFJN2plSTtFQUNFO0FySStqZU47QXFJN2plTTtFQUNFO0FySStqZVI7O0FzSWx0ZUE7QUFHSTtFQUNFO0F0SW10ZU47QXNJanRlTTtFQUNFO0VBQ0E7QXRJbXRlUjtBc0lqdGVRO0VBQ0U7RUFDQTtFQUNBLG9DcEhtREM7RW9IbERELG1CcEhvRFU7QWxCK3BlcEI7O0F1SWp1ZUE7QUFDQTtFQUNFO0F2SW91ZUY7QXVJanVlSTtFQUNFO0VBQ0E7RUFDQTtBdkltdWVOO0F1SWp1ZU07RUFDRTtBdkltdWVSO0F1STl0ZUU7OztFQUVFO0VBQ0EsbUJySCtDZ0I7RXFIOUNoQjtFQUNBO0F2SWl1ZUo7QXVJL3RlSTs7O0VBQ0U7RUFDQTtFQUNBO0F2SW11ZU47QXVJaHVlSTs7O0VBQ0U7QXZJb3VlTjtBdUlodWVFO0VBQ0U7QXZJa3VlSjtBdUkvdGVFO0VBQ0U7QXZJaXVlSjtBdUkvdGVJOzs7OztFQUdFO0F2SW11ZU47QXVJL3RlUTtFQUNFO0F2SWl1ZVY7QXVJL3RlUTtFQUNFO0F2SWl1ZVY7QXVJOXRlTTtFQUNFO0F2SWd1ZVI7QXVJN3RlUTtFQUNFO0F2SSt0ZVY7QXVJM3RlUTtFQUNFO0F2STZ0ZVY7QXVJdnRlSTtFQUNFO0F2SXl0ZU47QXVJcnRlRTtFQUNFO0F2SXV0ZUo7O0F3SXB5ZUE7QUFNRTs7RUFDQyxvQ3RIeURRO0VzSHhEUjtFQUNBLG1CdEh5RGlCO0VzSHhEakIsV3BJT1E7RW9JTlI7RUFJQTtBeElpeWVIO0F3SS94ZUc7O0VBQ0M7QXhJa3llSjs7QXdJNXhlQTtFQUNDLG9DdEh1Q1U7RXNIdENWLG1CdEh3Q21CO0VzSHZDbkI7QXhJK3hlRDs7QXdJNXhlQTtFQUNDO0VBQ0E7QXhJK3hlRDtBd0k3eGVDO0VBQ0M7QXhJK3hlRjtBd0k3eGVFO0VBQ0M7RUFDQSxjdEg0QlU7RXNIM0JWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhJK3hlSDtBd0k3eGVHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEkreGVKOztBd0l2eGVBO0VBQ0M7RUFDQTtBeEkweGVEO0F3SXZ4ZUU7RUFDQztFQUNBO0VBQ0E7RTdIakRDO0FYMjBlSjtBd0l2eGVHO0VBQ0M7QXhJeXhlSjtBd0l0eGVHO0VBQ0M7RUFDQSxXcElyRU87RW9Jc0VQO0F4SXd4ZUo7O0F3SWx4ZUE7RUFDQztFQUNBO0VBQ0E7QXhJcXhlRDs7QXlJeDJlSTtFQUNFLG1Cckl3RVM7QUpteWVmOztBeUk1MmVJO0VBQ0UsbUJySXdFUztBSnV5ZWY7O0F5SWgzZUk7RUFDRSxtQnJJd0VTO0FKMnllZjs7QXlJcDNlSTtFQUNFLG1Cckl3RVM7QUoreWVmOztBeUl4M2VJO0VBQ0UsbUJySXdFUztBSm16ZWY7O0F5STUzZUk7RUFDRSxtQnJJd0VTO0FKdXplZjs7QXlJaDRlSTtFQUNFLG1Cckl3RVM7QUoyemVmOztBeUlwNGVJO0VBQ0UsbUJySXdFUztBSit6ZWY7O0F3STV5ZUM7RUFDQztBeEkreWVGO0F3STV5ZUc7RUFDQztFQUNBO0VBQ0E7QXhJOHllSjtBd0k1eWVJO0VBQ0M7QXhJOHllTDtBd0kzeWVJO0VBQ0M7QXhJNnllTDtBd0lweWVBO0VBQ0M7RUFDQTtFQUNBO0F4SXN5ZUQ7QXdJcHllQztFQUNDO0F4SXN5ZUY7QXdJcHllRTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGN0SC9EVTtBbEJxMmViO0F3SXB5ZUc7RUFDQztBeElzeWVKOztBd0loeWVBO0VBSUM7QXhJaXllRDtBd0loeWVDO0VBSUM7RUFFQTtBeEkreGVGO0FlNTJlSTtFeUh1RUg7SUFXRTtFeEkreGVEO0FBQ0Y7QXdJNXhlQztFQUNDO0F4STh4ZUY7O0EwSTk3ZUE7QUFFQTtFQUNFO0VBQ0E7QTFJZzhlRjtBMEkvN2VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFJaThlSjtBMEkvN2VFO0VBQ0U7QTFJaThlSjtBMEloOGVJO0VBQ0U7RUFDQTtBMUlrOGVOOztBMEk3N2VBO0VBQ0U7RUFDQTtBMUlnOGVGO0EwSS83ZUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBMUlpOGVKO0EwSWg4ZUk7RUFJRTtFQUNBO0VBQ0E7QTFJKzdlTjtBMEk5N2VNO0VBQ0U7QTFJZzhlUjtBMEk5N2VNO0VBRUU7RUFDQTtFQUNBO0ExSSs3ZVI7QTBJOTdlUTtFQUVFLFd0STVCQztBSjI5ZVg7QTBJejdlRTtFQUNFO0ExSTI3ZUo7QTBJeDdlRTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExSW83ZUo7QTJJeC9lQTtBQUVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTNJeS9lRjtBMklwL2VFOztFQUNDO0EzSXUvZUg7QTJJai9lRTs7RUFDQztBM0lvL2VIOztBMkkvK2VBO0VBQ0Msa0J6SGdQdUI7RXlIL092QjtFQUtBO0EzSTgrZUQ7QTJJai9lQztFQUNDLG9DekhtQ1M7QWxCZzllWDs7QTRJOWdmQztFQUNDLG1CRGdDeUI7RUMvQnpCLFd4SUdTO0FKOGdmWDtBNEk3Z2ZFO0VBQ0MseUJEMEJ3QjtBM0lxL2UzQjtBNEkxZ2ZFO0VBQ0MsMkJEb0J3QjtBM0l3L2UzQjtBNEl2Z2ZFO0VBQ0MsNEJEY3dCO0EzSTIvZTNCO0E0SXBnZkU7RUFDQywwQkRRd0I7QTNJOC9lM0I7O0E0SS9oZkM7RUFDQyxtQkRnQ3lCO0VDL0J6QixXeElHUztBSitoZlg7QTRJOWhmRTtFQUNDLHlCRDBCd0I7QTNJc2dmM0I7QTRJM2hmRTtFQUNDLDJCRG9Cd0I7QTNJeWdmM0I7QTRJeGhmRTtFQUNDLDRCRGN3QjtBM0k0Z2YzQjtBNElyaGZFO0VBQ0MsMEJEUXdCO0EzSStnZjNCOztBNEloamZDO0VBQ0MsbUJEZ0N5QjtFQy9CekIsV3hJR1M7QUpnamZYO0E0SS9pZkU7RUFDQyx5QkQwQndCO0EzSXVoZjNCO0E0STVpZkU7RUFDQywyQkRvQndCO0EzSTBoZjNCO0E0SXppZkU7RUFDQyw0QkRjd0I7QTNJNmhmM0I7QTRJdGlmRTtFQUNDLDBCRFF3QjtBM0lnaWYzQjs7QTRJamtmQztFQUNDLG1CRGdDeUI7RUMvQnpCLFd4SUdTO0FKaWtmWDtBNEloa2ZFO0VBQ0MseUJEMEJ3QjtBM0l3aWYzQjtBNEk3amZFO0VBQ0MsMkJEb0J3QjtBM0kyaWYzQjtBNEkxamZFO0VBQ0MsNEJEY3dCO0EzSThpZjNCO0E0SXZqZkU7RUFDQywwQkRRd0I7QTNJaWpmM0I7O0E0SWxsZkM7RUFDQyxtQkRnQ3lCO0VDL0J6QixXeElHUztBSmtsZlg7QTRJamxmRTtFQUNDLHlCRDBCd0I7QTNJeWpmM0I7QTRJOWtmRTtFQUNDLDJCRG9Cd0I7QTNJNGpmM0I7QTRJM2tmRTtFQUNDLDRCRGN3QjtBM0kramYzQjtBNEl4a2ZFO0VBQ0MsMEJEUXdCO0EzSWtrZjNCOztBNElubWZDO0VBQ0MsbUJEZ0N5QjtFQy9CekIsV3hJR1M7QUptbWZYO0E0SWxtZkU7RUFDQyx5QkQwQndCO0EzSTBrZjNCO0E0SS9sZkU7RUFDQywyQkRvQndCO0EzSTZrZjNCO0E0STVsZkU7RUFDQyw0QkRjd0I7QTNJZ2xmM0I7QTRJemxmRTtFQUNDLDBCRFF3QjtBM0ltbGYzQjs7QTRJcG5mQztFQUNDLG1CRGdDeUI7RUMvQnpCLFd4SUdTO0FKb25mWDtBNElubmZFO0VBQ0MseUJEMEJ3QjtBM0kybGYzQjtBNElobmZFO0VBQ0MsMkJEb0J3QjtBM0k4bGYzQjtBNEk3bWZFO0VBQ0MsNEJEY3dCO0EzSWltZjNCO0E0STFtZkU7RUFDQywwQkRRd0I7QTNJb21mM0I7O0E0SXJvZkM7RUFDQyxtQkRnQ3lCO0VDL0J6QixXeElHUztBSnFvZlg7QTRJcG9mRTtFQUNDLHlCRDBCd0I7QTNJNG1mM0I7QTRJam9mRTtFQUNDLDJCRG9Cd0I7QTNJK21mM0I7QTRJOW5mRTtFQUNDLDRCRGN3QjtBM0lrbmYzQjtBNEkzbmZFO0VBQ0MsMEJEUXdCO0EzSXFuZjNCOztBNkl4cGZBO0FBS1E7RUFDRTtFQUNBO0VBQ0E7RWxJVU47RWtJUk07RUFDQTtBN0l1cGZWO0E2SWxwZlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3SW9wZlY7QTZJanBmUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3SW1wZlY7QTZJaHBmUTtFQUNFO0VBQ0E7RUFDQTtBN0lrcGZWO0E2SS9vZlE7RUFDRTtFQUNBO0VBQ0E7QTdJaXBmVjtBNkk1b2ZRO0VBQ0U7RUFLQTtFQUVBO0E3STJvZlY7QTZJem9mVTtFQUNFO0VBT0E7RUFFQTtFQUVBO0VBRUE7QTdJc29mWjtBNklwb2ZZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0lzb2ZkO0E2SXBvZmM7RUFDRTtFQUNBO0E3SXNvZmhCO0E2STduZlU7RUFDRTtBN0krbmZaO0E2STFuZlU7RUFDRTtFQUNBO0VBQ0E7QTdJNG5mWjtBNkkxbmZZO0VBQ0U7RUFDQTtBN0k0bmZkO0E2SXpuZlk7RUFDRTtFQUNBO0E3STJuZmQ7QThJdHVmQTtFQUNFO0E5SXd1ZkY7QThJdHVmRTtFQUNFO0VBQ0E7RUFLQTtFQUVBO0VuSU1BO0VtSUdBLDBCNUgwS3lCO0U0SHRLekI7QTlJaXVmSjtBOEkvdGZJO0VBQ0U7RUFDQTtFQUNBLG1CNUhvQ2M7QWxCNnJmcEI7QThJOXRmSTtFQUNFO0VBQ0E7RUFDQTtFbklsQkY7RW1JOEJFLDBCNUgrSXVCO0U0SDNJdkIsZ0M1SDRJOEI7RTRIeEk5QjtFQUVBO0VBRUE7RUFFQTtBOUl5dGZOO0E4SXZ0Zk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5JdkRKO0V1RU1GLDJCNERtRHlCO0VBT25CLDBCNUg2R3FCO0U0SHpHckIsZ0M1SDBHNEI7QWxCZ25mcEM7QThJdHRmUTtFQUNFO0E5SXd0ZlY7QThJbnRmUTtFQUNFO0E5SXF0ZlY7QThJanRmTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBT0EsMEI1SCtFcUI7RTRIM0VyQixnQzVINEU0QjtBbEJvb2ZwQztBOEk1c2ZJO0VBQ0U7QTlJOHNmTjtBOEkzc2ZRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlJNnNmVjtBOEkxc2ZRO0VBQ0U7RUFDQTtBOUk0c2ZWOztBOElwc2ZFO0VBQ0U7QTlJdXNmSjs7QThJanNmSTtFQUNFO0E5SW9zZk47O0ErSXgxZkU7RUFDRTtFQUNBO0EvSTIxZko7QStJejFmSTtFQUNFO0EvSTIxZk47QStJeDFmSTtFQUNFO0EvSTAxZk47QStJdjFmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvSXkxZk47QStJdjFmTTtFQUNFO0EvSXkxZlI7QStJdDFmTTtFQUNFO0VBQ0E7RUFDQTtFN0RpQ047RUFDQTtFQUNBO0VBQ0E7QWxGd3pmRjtBK0l4MWZNO0VBQ0U7QS9JMDFmUjtBK0l4MWZRO0VBQ0U7RUFDQTtFQUNBO0EvSTAxZlY7QStJeDFmVTtFQUNFO0VwSXJCUjtBWGczZko7QStJcjFmTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0M3SGNHO0U2SGJIO0VBQ0E7RXBJbENKO0FYMDNmSjtBK0lwMWZNO0VBQ0U7RUFDQSxvQzdITUc7RTZITEg7RUFDQTtFQUNBLGM3SE1LO0FsQmcxZmI7QStJbjFmTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcElwREo7QVgwNGZKO0ErSWoxZlE7RUFDRTtBL0ltMWZWO0ErSTkwZlE7RUFDRTtBL0lnMWZWO0ErSTMwZlE7RUFDRTtBL0k2MGZWOztBZ0pyNmZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QWhKdzZmRDtBZ0p0NmZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEp3NmZGO0FnSnI2ZkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSnU2ZkY7QWdKcjZmRTtFQUNDO0VBQ0E7QWhKdTZmSDtBZ0pwNmZFO0VBQ0M7RUFDQTtFQUNBO0FoSnM2Zkg7QWdKbjZmRTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGdCNUloQ1E7RU9XUDtFcUl1QkQ7RUFDQTtFQUNBO0FoSnE2Zkg7QWdKbjZmRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSnE2Zko7QWdKbDZmRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEpvNmZKO0FnSmo2Zkc7RUFDQztFQUNBO0VBQ0E7QWhKbTZmSjtBZ0ovNWZJO0VBQ0M7QWhKaTZmTDtBZ0ovNWZLO0VBQ0M7QWhKaTZmTjtBZ0o3NWZJO0VBQ0M7QWhKKzVmTDtBZ0oxNWZJO0VBQ0M7QWhKNDVmTDtBZ0p6NWZJO0VBQ0M7QWhKMjVmTDtBZ0p0NWZFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEp3NWZIO0FnSnQ1Zkc7RUFDQyxXNUl6R087QUppZ2dCWDtBZ0pwNWZFO0VBQ0M7RUFDQTtBaEpzNWZIO0FnSnA1Zkc7RUFDQztFQUNBO0FoSnM1Zko7QWdKcDVmSTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FoSnM1Zkw7O0FnSmg1ZkE7RUFFRTtJQUNDO0VoSms1ZkQ7RWdKaDVmQztJQUNDO0VoSms1ZkY7RWdKLzRmQztJQUNDO0lBQ0E7SUFDQTtFaEppNWZGO0FBQ0Y7QWdKMTRmRztFQUNDO0FoSjQ0Zko7QWdKeDRmRTtFQUNDO0FoSjA0Zkg7O0FnSmg1Zkc7RUFDQztBaEptNWZKO0FnSi80ZkU7RUFDQztBaEppNWZIOztBZ0p2NWZHO0VBQ0M7QWhKMDVmSjtBZ0p0NWZFO0VBQ0M7QWhKdzVmSDs7QWdKOTVmRztFQUNDO0FoSmk2Zko7QWdKNzVmRTtFQUNDO0FoSis1Zkg7O0FnSnI2Zkc7RUFDQztBaEp3NmZKO0FnSnA2ZkU7RUFDQztBaEpzNmZIOztBZ0o1NmZHO0VBQ0M7QWhKKzZmSjtBZ0ozNmZFO0VBQ0M7QWhKNjZmSDs7QWdKbjdmRztFQUNDO0FoSnM3Zko7QWdKbDdmRTtFQUNDO0FoSm83Zkg7O0FnSjE3Zkc7RUFDQztBaEo2N2ZKO0FnSno3ZkU7RUFDQztBaEoyN2ZIOztBQXQ0ZkE7QUFDQTtBaUp0TkE7QUFHRTtFQUREO0lBRUU7RWpKK2xnQkQ7QUFDRjtBZTNoZ0JJO0VrSXZFSDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqSmltZ0JEO0FBQ0Y7QWlKL2xnQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtBakppbWdCSDtBZS9pZ0JJO0VrSXRERjtJQU1FO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpKbW1nQkY7QUFDRjtBaUpqbWdCRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FqSm1tZ0JKO0FpSmptZ0JJO0VBQ0M7RUFDQTtFQUNBO0VBTUE7RUFFQTtFQUVBO0FqSitsZ0JMO0FpSjdsZ0JLO0VBQ0M7QWpKK2xnQk47QWlKNWxnQks7RUFDQztFQUNBLG1CL0hPYztFK0hOZDtBako4bGdCTjtBaUo1bGdCTTtFQUNDO0VBQ0EsbUIvSEVhO0UrSERiO0FqSjhsZ0JQO0FpSjFsZ0JLO0VBQ0M7RXRJcERGO0FYaXBnQko7QWlKMWxnQk07RUFDQztBako0bGdCUDtBaUp2bGdCTTtFQUNDO0FqSnlsZ0JQO0FpSm5sZ0JHO0VBQ0M7QWpKcWxnQko7QWlKbmxnQkk7RUFDQyxtQi9IeEJlO0UrSHlCZjtFQUNBO0VBQ0Esb0MvSDdCTTtBbEJrbmdCWDtBaUpsbGdCSTtFQUNDO0VBQ0E7RXRJaEZEO0VzSWtGQztFQUNBO0VBQ0E7QWpKb2xnQkw7QWlKbGxnQks7RUFDQztFQUNBO0VBQ0E7QWpKb2xnQk47QWlKaGxnQkk7RUFDQztBakprbGdCTDtBaUpobGdCSztFQUNDO0FqSmtsZ0JOO0FpSjlrZ0JJO0VBQ0M7QWpKZ2xnQkw7QWlKOWtnQks7RUFDQztBakpnbGdCTjtBaUoza2dCRztFQUNDO0FqSjZrZ0JKO0FpSjFrZ0JHO0VBQ0M7RUFDQTtFQUNBO0FqSjRrZ0JKO0FpSjFrZ0JJO0VBQ0M7QWpKNGtnQkw7QWlKemtnQkk7RUFDQztBakoya2dCTDtBaUp4a2dCSztFQUtDO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QWpKdWtnQk47QWlKcmtnQk07RUFDQztFQUNBO0V0STdJSDtBWHF0Z0JKO0FpSm5rZ0JLO0VBQ0M7RUFHQTtBakpta2dCTjtBaUpqa2dCTTtFQUNDO0VBQ0Esb0MvSDVHSTtFK0g2R0osbUIvSDNHYTtFK0g0R2I7QWpKbWtnQlA7QWlKOWpnQk07RUFDQztFQUdBO0FqSjhqZ0JQO0FpSnRqZ0JDO0VBQ0M7QWpKd2pnQkY7O0FrSnh2Z0JBO0FBRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtBbEowdmdCRjtBa0p4dmdCRTtFQUNDO0FsSjB2Z0JIO0FrSnZ2Z0JFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEp5dmdCSDtBa0p2dmdCRztFQUNDO0FsSnl2Z0JKO0FrSnR2Z0JHO0VBQ0M7RUFDQTtFQUNBO0FsSnd2Z0JKO0FrSnJ2Z0JHO0VBQ0M7RUFDQTtFQUNBO0FsSnV2Z0JKO0FrSnJ2Z0JJO0VBQ0M7RUFDQSxtQmhJOEJlO0VnSTdCZixvQ2hJMkJNO0VnSXpCTjtBbEpzdmdCTDtBa0pudmdCSTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxKcXZnQkw7QWtKaHZnQkc7RUFHQztBbEpndmdCSjtBa0o5dWdCSTtFQUNDO0VBQ0E7RUFDQTtBbEpndmdCTDtBa0o1dWdCSTtFQUNDO0VBQ0E7QWxKOHVnQkw7QWtKNXVnQks7RUFDQztBbEo4dWdCTjtBa0p6dWdCRztFQUNDO0FsSjJ1Z0JKO0FtSnR6Z0JBO0FBR0U7RUFDQztFQUNBLGdDakltTGU7RWlJL0tmO0FuSm96Z0JIO0FtSmx6Z0JHO0VBQ0M7QW5Kb3pnQko7QW1KbHpnQkk7RUFDQztFQUNBLG9DaklnRE07QWxCb3dnQlg7QW1KanpnQkk7RUFDQztFQUNBLG9DakkyQ007QWxCd3dnQlg7QW1KanpnQks7RUFDQztFQUNBLG9Dakl1Q0s7RWlJdENMO0FuSm16Z0JOO0FtSjd5Z0JFO0VBQ0M7QW5KK3lnQkg7QW1KM3lnQkc7RUFDQztFQUNBLDZCaklpSmM7RWlJaEpkO0FuSjZ5Z0JKO0FtSjN5Z0JJO0VBQ0M7RUFDQTtFQUNBLHlCakkySWE7RVB0S2Q7QVh5MGdCSjtBbUp4eWdCSztFQUNDO0VBQ0E7QW5KMHlnQk47QW1KcnlnQk07RUFDQztFQUNBO0VBQ0E7QW5KdXlnQlA7QW1KbHlnQk07RUFDQztFQUVBO0VBQ0E7QW5KbXlnQlA7QW1KNXhnQk87RUFDQztFQUNBO0VBQ0E7QW5KOHhnQlI7QW1KM3hnQk87RUFDQztFQUNBO0FuSjZ4Z0JSO0FtSjN4Z0JRO0VBQ0M7QW5KNnhnQlQ7O0FBMXBnQkE7QUFDQTtBb0o1TkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBcEowM2dCRDtBb0p4M2dCQztFQUNDLG1CbEkyRGtCO0FsQit6Z0JwQjs7QXFKajRnQkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJuSXNEbUI7RW1JckRuQixvQ25JbURVO0VtSWxEVjtFQUNBO0UxSUdHO0UwSUdIO0FySm80Z0JEO0FxSmw0Z0JDO0VBQ0MsbUJuSTBDa0I7RW1JekNsQixvQ25JdUNTO0VtSXRDVDtBckpvNGdCRjs7QXFKaDRnQkE7RUFDQyxnQmpKZFU7RWlKZVY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJKbTRnQkQ7O0FxSmg0Z0JBOzs7RUFPQztFQUtBO0FySm00Z0JEOztBcUpoNGdCQTtFQUNDO0FySm00Z0JEOztBcUpoNGdCQTtFQUNDO0VBQ0E7RUFDQTtFQUtBO0FySm00Z0JEOztBcUpoNGdCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FySm00Z0JEOztBcUpoNGdCQTtFQUtDO0FySm00Z0JEOztBcUpoNGdCQTtFQUtDO0FySm00Z0JEOztBcUovM2dCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBLGdCakpyRlU7RWlKc0ZWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxSTlGRztBWGkrZ0JKO0FxSmg0Z0JDO0VBQ0M7RUFDQTtBckprNGdCRjs7QXNKdi9nQkE7QUFDQTtFQUNFO0VBQ0E7RUFDQSxvQ3BJNERTO0VvSTNEVCxnQmxKRVM7QUp3L2dCWDtBc0p4L2dCRTtFQUNFO0VBQ0EsV2xKRk87RWtKR1A7RUFDQSxvQ3BJcURPO0VvSXBEUDtBdEowL2dCSjtBc0pyL2dCTTtFQUNFLHVCbEpYRztBSmtnaEJYO0FzSmgvZ0JNO0VBQ0Usd0JsSm5CRztBSnFnaEJYO0FzSjMrZ0JNO0VBQ0Usc0JsSjNCRztBSndnaEJYO0FzSnQrZ0JNO0VBQ0UseUJsSm5DRztBSjJnaEJYOztBc0psK2dCQTtFQUNFO0F0SnErZ0JGOztBdUpyaGhCRTtFQUNFO0VBQ0E7RUFPQTtFQUVBO0VBRUE7RUFFQTtBdkptaGhCSjtBdUpqaGhCSTtFQUNFO0VBS0E7RUFFQTtBdkpnaGhCTjtBdUo5Z2hCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJySWlDWTtBbEIrK2dCcEI7QXVKMWdoQkk7RUFDRTtBdko0Z2hCTjtBdUoxZ2hCTTtFQUNFO0VBQ0E7QXZKNGdoQlI7QXVKMWdoQlE7RUFDRTtFQUNBO0F2SjRnaEJWOztBdUpyZ2hCQTtFQUNFO0F2SndnaEJGOztBd0poa2hCQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0F4SmdraEJGOztBd0o3amhCQTtFQUNFO0VBQ0E7RUFDQTtBeEpna2hCRjs7QXdKNWpoQkE7RUFDRTtFQUNBO0VBQ0E7QXhKK2poQkY7O0F3SjVqaEJBO0VBQ0U7RUFDQTtFQUNBO0F4SitqaEJGOztBd0ozamhCQTtFQUNFO0VBQ0E7RUFDQTtBeEo4amhCRjs7QXdKM2poQkE7RUFDRTtFQUNBO0VBQ0E7QXhKOGpoQkY7O0F3SnhqaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhKMmpoQkY7O0F3SnZqaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhKMGpoQkY7O0F3SnRqaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhKeWpoQkY7O0F3SnJqaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhKd2poQkY7O0F3SmxqaEJBO0VBQ0U7RUFDQTtBeEpxamhCRjs7QXdKampoQkE7RUFDRTtFQUNBO0F4Sm9qaEJGOztBd0poamhCQTtFQUNFO0VBQ0E7QXhKbWpoQkY7O0F3Si9paEJBO0VBQ0U7RUFDQTtBeEpramhCRjs7QXdKNWloQkE7RUFDRTtBeEoraWhCRjs7QXdKNWloQkE7RUFDRTtBeEoraWhCRjs7QXdKNWloQkE7RUFDRTtBeEoraWhCRjs7QXdKNWloQkE7RUFDRTtBeEoraWhCRjs7QXdKMWloQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEo2aWhCSjtBd0oxaWhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4SjRpaEJKO0F3SnppaEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhKMmloQko7QXdKeGloQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEowaWhCSjs7QXlKOXJoQkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6SmlzaEJGO0F5SmhzaEJFO0VBQ0U7QXpKa3NoQko7O0EwSnpzaEJBO0FBQ0E7RUFDRTtBMUo0c2hCRjs7QTBKenNoQkE7RUFDRTtBMUo0c2hCRjs7QTBKenNoQkE7RUFDRTtFQUNBO0VBQ0E7QTFKNHNoQkY7O0EwSnpzaEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFKNHNoQkY7O0EwSnpzaEJBO0VBQ0U7QTFKNHNoQkY7O0EwSjFzaEJBO0FBQ0E7O0VBRUU7QTFKNnNoQkY7O0EwSjNzaEJBO0VBQ0U7SUFDRTtFMUo4c2hCRjtFMEozc2hCQTtJQUNFO0UxSjZzaEJGO0FBQ0Y7QTBKM3NoQkE7RUFDRTtJQUNFO0UxSjZzaEJGO0UwSjFzaEJBOztJQUVFO0UxSjRzaEJGO0FBQ0Y7QTBKenNoQkE7RUFDRTtFQUNBO0ExSjJzaEJGOztBMEp4c2hCQTtFQUNFO0ExSjJzaEJGOztBMEp4c2hCQTtFQUNFO0ExSjJzaEJGOztBMEp4c2hCQTtFQUNFO0ExSjJzaEJGOztBMkozd2hCQTtBQUNBO0VBQ0U7QTNKOHdoQkY7O0EySjN3aEJBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7QTNKNndoQkY7QTJKM3doQkU7RUFDRTtFQUNBO0VBQ0E7QTNKNndoQko7O0E0SjV4aEJBO0FBRUU7RUFDRSxXeEpjTztFd0piUDtBNUo4eGhCSjtBNEoxeGhCSTtFQUNFO0E1SjR4aEJOO0E0SnZ4aEJJO0VBQ0U7QTVKeXhoQk47QTRKcHhoQkk7RUFDRTtBNUpzeGhCTjtBNEpqeGhCSTtFQUNFO0E1Sm14aEJOO0E0Sjl3aEJJO0VBQ0U7QTVKZ3hoQk47QTRKM3doQkk7RUFDRTtBNUo2d2hCTjs7QTRKeHdoQkE7RUFDRTtFQUNBO0E1SjJ3aEJGO0E0Snh3aEJJO0VBQ0UsV3hKakNLO0V3SmtDTDtFQUNBLG9DMUlZSztBbEI4dmhCWDtBNEp2d2hCSTtFQUNFLGdCeEp2Q0s7QUpnemhCWDtBNEp2d2hCTTtFQUNFLFd4SnBERztBSjZ6aEJYOztBNkpwMGhCQTtBQUNBO0VBQ0MseUIzSXFDYztBbEJreWhCZjtBNkpuMGhCRztFQUNDLDBCM0lnQ1c7QWxCcXloQmY7QTZKOXpoQkc7RUFDQywyQjNJd0JXO0FsQnd5aEJmO0E2Snp6aEJHO0VBQ0MseUIzSWdCVztBbEIyeWhCZjtBNkpwemhCRztFQUNDLHlCekp4Qk87QUo4MGhCWDs7QThKcjFoQkE7QUFDQTtFQUNFO0VBQ0E7QTlKdzFoQkY7QThKdDFoQkU7RUFDRTtBOUp3MWhCSjtBOEpyMWhCRTtFQUVFO0E5SnMxaEJKO0E4SmwxaEJJO0VBQ0U7RUFDQTtBOUpvMWhCTjtBOEo5MGhCSTtFQUNFO0VBQ0E7QTlKZzFoQk47QThKdjBoQlE7Ozs7Ozs7OztFQUVFO0VBQ0E7RUFDQTtBOUpnMWhCVjtBOEo3MGhCUTs7Ozs7RUFDRTtFQUNBO0E5Sm0xaEJWO0E4SmgxaEJROzs7OztFQUNFO0VBQ0E7QTlKczFoQlY7QThKaDFoQkU7RUFDRTtBOUprMWhCSjtBOEovMGhCRTtFQUNFLG1CNUlPZ0I7QWxCMDBoQnBCOztBK0o1NGhCQTtBQUNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0EvSis0aEJEO0ErSjc0aEJDOztFQUNDO0EvSmc1aEJGO0ErSjk0aEJFOztFQUNDO0EvSmk1aEJIO0ErSjc0aEJLOztFQUNDO0VBQ0E7QS9KZzVoQk47QStKOTRoQk07O0VBQ0MsVzNKSkk7RTJKS0o7RUFDQTtFQUNBLGdCM0pqQkk7QUprNmhCWDtBK0o5NGhCTTs7RUFDQyxXM0pYSTtFMkpZSixnQjNKdEJJO0UySnVCSjtFQUNBO0VBQ0E7RUFDQTtBL0ppNWhCUDtBK0o5NGhCTTs7RUFDQyxXM0pwQkk7RTJKcUJKO0VBQ0E7RUFDQSxnQjNKakNJO0FKazdoQlg7QStKOTRoQk07O0VBQ0Msb0M3SW9CSTtFNkluQkosVzNKNUJJO0UySjZCSjtFQUNBO0EvSmk1aEJQO0ErSjM0aEJHOztFQUNDO0VBQ0E7QS9KODRoQko7QStKNTRoQkk7O0VBQ0M7QS9KKzRoQkw7QStKNzRoQks7O0VBQ0M7RUFDQTtFQUNBLFczSjlDSztBSjg3aEJYO0ErSjk0aEJNOztFQUNDLGdCM0ozREk7QUo0OGhCWDtBK0o5NGhCTTs7RUFDQztFQUNBO0VBQ0E7RUFDQTtBL0ppNWhCUDtBK0ovNGhCTzs7RUFDQztFQUNBO0VBQ0E7RUFDQTtFcEo3REo7RW9KK0RJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9KazVoQlI7QStKOTRoQk07O0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QS9KaTVoQlA7QStKLzRoQk87O0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RXBKcEZKO0VvSnNGSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvSms1aEJSO0ErSjc0aEJLOztFQUNDO0EvSmc1aEJOO0ErSnQ0aEJBO0VBQ0M7RUFDQTtFQUNBO0EvSnc0aEJEO0ErSm40aEJJO0VBQ0M7RUFDQTtFQUNBO0EvSnE0aEJMO0ErSmw0aEJJO0VBQ0M7RUFDQTtFQUNBO0EvSm80aEJMO0ErSmo0aEJJO0VBQ0M7RUFDQTtFQUNBO0EvSm00aEJMO0ErSnozaEJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9KMjNoQkY7QStKeDNoQkM7RUFDQztFQUNBO0EvSjAzaEJGO0ErSngzaEJFOzs7Ozs7Ozs7RUFDQztBL0prNGhCSDs7QStKNTNoQkM7RUFDQyx5QjNKckxTO0FKb2ppQlg7QStKNzNoQkM7RUFDQyw0QjdJeEphO0FsQnVoaUJmO0ErSjUzaEJFO0VBRUM7QS9KNjNoQkg7QStKMzNoQkU7RUFDQyxzQjNKaE1RO0FKNmppQlg7QStKMzNoQkU7RUFDQyx5QjdJbktZO0FsQmdpaUJmOztBZ0t2a2lCQTtBQUNBO0VBQ0M7RXJKZ0JHO0FYMmppQko7QWdLeGtpQkM7RUFDQztFQUVBO0VBRUE7QWhLMGtpQkY7QWdLcmtpQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFc1Sk5PO0U0Sk9QO0FoS3VraUJKO0FnS25raUJFO0VBQ0M7RUFDQSxXNUpiUTtBSmtsaUJYO0FnS2hraUJFO0VBQ0M7QWhLa2tpQkg7QWdLL2ppQkk7RUFDQztFQUNBO0VBQ0E7QWhLaWtpQkw7QWdLOWppQkk7RUFDQztFQUNBO0FoS2draUJMO0FnSzFqaUJHO0VBQ0M7QWhLNGppQko7QWdLdmppQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtBaEt5amlCRjs7QWlLeG5pQkE7QUFDQTtFQUNFO0VBQ0E7QWpLMm5pQkY7QWlLem5pQkU7RUFDRTtFQUNBO0FqSzJuaUJKO0FpS3puaUJJO0VBQ0U7RUFDQSxXN0pNSztBSnFuaUJYOztBa0t0b2lCQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEt5b2lCRjs7QWtLdG9pQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEt5b2lCRjs7QW1LdHBpQkE7QUFFRTtFQUNFLGdCL0pJTztFK0pIUDtFQUNBO0FuS3dwaUJKO0FtS3RwaUJJO0V4SldBO0FYOG9pQko7QW1LdHBpQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVy9KWkc7RStKYUg7RUFNQTtBbktzcGlCUjtBbUtwcGlCUTtFQUNFO0FuS3NwaUJWO0FtS25waUJRO0VBQ0U7RUFDQSxXL0ozQkM7QUpncmlCWDtBbUtscGlCUTtFQUVFLGdCL0poQ0M7RStKaUNEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5LbXBpQlY7QW1LanBpQlU7RUFDRTtFQUNBO0FuS21waUJaO0FtS2pwaUJZO0VBQ0U7RUFDQTtFQUNBO0FuS21waUJkO0FtSzdvaUJVO0VBQ0U7QW5LK29pQlo7QW1LOW9pQlk7RUFDRTtBbktncGlCZDtBbUsxb2lCVTtFQUNFO0FuSzRvaUJaO0FtSzNvaUJZO0VBQ0U7QW5LNm9pQmQ7QW1LdG9pQkk7RUFDRTtFQUNBO0V4SjlERjtFd0pnRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVy9KakZLO0UrSmtGTDtFQU1BO0FuS3NvaUJOO0FtS3BvaUJNO0VBQ0U7QW5Lc29pQlI7QW1Lam9pQk07RUFDRTtFQUNBO0VBQ0E7QW5LbW9pQlI7QW1LN25pQkk7RUFDRSxtQmpKN0VPO0FsQjRzaUJiO0FtSzVuaUJRO0VBQ0U7QW5LOG5pQlY7QW1LMW5pQmM7RUFDRTtBbks0bmlCaEI7QW1Lem5pQmtCO0VBQ0U7QW5LMm5pQnBCO0FtS3huaUJzQjtFQUNFO0VBQ0E7RUFDQSxxQmpKN0ZUO0VpSjhGUyxtQmpKbkVKO0FsQjZyaUJwQjtBbUtubmlCYztFQUNFO0VBQ0E7QW5LcW5pQmhCO0FtSy9taUJRO0VBQ0UsZ0IvSjlJQztBSit2aUJYO0FtSzltaUJZO0VBQ0UscUJqSmxIQztBbEJrdWlCZjtBbUs1bWlCa0I7RUFDRSxxQmpKdkhMO0FsQnF1aUJmO0FtS3ptaUIwQjtFQUNFLHFCako3SGI7QWxCd3VpQmY7QW1Lam1pQjRCO0VBQ0U7RUFDQTtFQUNBO0FuS21taUI5QjtBbUsxbGlCZ0M7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVy9Kekx2QjtFT1dQO0FYMndpQko7QW1LeGxpQjhCO0VBQ0U7RUFDQTtFQUNBO0FuSzBsaUJoQztBbUsxa2lCRTtFQUNFO0lBQ0U7RW5LNGtpQko7RW1LM2tpQkk7OztJQUdFO0lBQ0E7RW5LNmtpQk47RW1LNWtpQk07OztJQUNFO0lBQ0E7SUFDQTtFbktnbGlCUjtFbUs1a2lCTTtJQUNFO0VuSzhraUJSO0VtSzFraUJNO0lBQ0U7RW5LNGtpQlI7QUFDRjs7QW9LMXppQkE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwSzR6aUJKOztBcUtsMGlCQTtBQUNBOzs7O0VBSUU7QXJLcTBpQkY7QXFLbjBpQkU7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckt3MGlCSjs7QXNLbjFpQkE7QUFDQTtFQUNFLHFCcEpxQ2E7RW9KcENiO0VBQ0E7QXRLczFpQkY7QXNLbjFpQkk7RUFDRTtFQUNBLFdsS1FLO0VrS1BMO0F0S3ExaUJOO0FzS2oxaUJFO0VBQ0U7RUFDQTtFQUNBO0F0S20xaUJKOztBc0s5MGlCQTtFQUNFO0F0S2kxaUJGO0FzSy8waUJFO0VBQ0U7QXRLaTFpQko7O0F1SzMyaUJBO0FBTUM7RUFDQztFQUNBO0F2S3kyaUJGO0F1S24yaUJFO0VBQ0M7RUFDQSxvQ3JKZ0RRO0FsQnF6aUJYO0F1SzUxaUJHO0VBRUM7QXZLNjFpQko7QXVLdjFpQkU7RUFDQztFQUNBO0F2S3kxaUJIO0F1S3AxaUJFO0VBQ0M7QXZLczFpQkg7QXVLajFpQkU7RUFDQztBdkttMWlCSDtBdUsvMGlCQztFQUNDO0F2S2kxaUJGO0F1S3AwaUJDO0VBQ0M7RUFDQTtFQUNBO0F2S3MwaUJGOztBd0sxNGlCQTtBQUNBO0VBQ0UsZ0JwS0tTO0FKdzRpQlg7O0F5Sy80aUJBO0FBQ0E7RUFDRTtFQUNBO0F6S2s1aUJGO0F5S2g1aUJFO0VBQ0U7RUFNQTtBeks2NGlCSjtBeUszNGlCSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpLNDRpQk47QXlLMTRpQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6SzQ0aUJSO0F5S3g0aUJJO0VBQ0U7RUFDQTtBekswNGlCTjs7QTBLMzZpQkE7QUFFRTtFQUNFO0VBQ0E7RUFDQTtBMUs2NmlCSjtBMEt4NmlCRTtFQUNFO0VBQ0E7QTFLMDZpQko7QTBLeDZpQkk7RUFDRTtFQUNBLGdDeEp3S1k7RXdKdktaO0ExSzA2aUJOO0EwS3g2aUJNO0VBQ0U7QTFLMDZpQlI7QTBLdjZpQk07RUFDRTtFQUNBO0ExS3k2aUJSOztBMktsOGlCQTtBQUNBO0VBQ0U7RUFDQTtFaEtlRTtBWHU3aUJKO0EyS244aUJFO0VBQ0U7QTNLcThpQko7QTJLbjhpQkk7RUFDRTtBM0txOGlCTjtBMktqOGlCRTtFQUNFO0VBQ0E7RUFDQTtBM0ttOGlCSjtBMktqOGlCSTtFQUNFO0EzS204aUJOO0EySy83aUJFO0VBQ0U7RUFDQTtFQUNBO0EzS2k4aUJKO0EySy83aUJJO0VBQ0U7RUFDQTtBM0tpOGlCTjtBMks5N2lCSTtFQUNFO0EzS2c4aUJOO0EySzk3aUJNO0VBQ0U7RUFDQSxnQnZLaENHO0VPV1A7RWdLdUJJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTtBM0s4N2lCUjtBMks1N2lCUTtFQUVFO0EzSzY3aUJWO0EySzE3aUJRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoS2pETjtBWDgraUJKO0EyS3o3aUJRO0VBQ0Usb0N6SlJDO0VQOUNQO0VnS3dETTtFQUNBO0VBQ0EsbUJ6SlZVO0V5SldWO0VBQ0E7QTNLMjdpQlY7QTJLbDdpQkk7O0VBRUUsbUJ6SmxEUztBbEJzK2lCZjtBMktqN2lCSTtFQUNFO0VBQ0E7QTNLbTdpQk47QTJLaDdpQkk7RUFDRTtFQUNBO0EzS2s3aUJOO0EySy82aUJJO0VBQ0UsV3ZLdEZLO0V1S3VGTDtFQUNBLG9Dekp6Q0s7QWxCMDlpQlg7O0EySzc2aUJBO0FDMUdJO0VBQ0UsbUJ4S3dFUztBSm05aUJmO0E0S3hoakJJO0VBQ0UsbUJ4S29FUztBSnM5aUJmO0E0S3ZoakJRO0VBQ0UsbUJ4S2dFSztBSnk5aUJmO0E0S3RoakJRO0VBQ0UsbUJ4SzRESztFd0szREwsV3hLVkM7QUpraWpCWDs7QTRLdGlqQkk7RUFDRSxtQnhLd0VTO0FKaStpQmY7QTRLdGlqQkk7RUFDRSxtQnhLb0VTO0FKbytpQmY7QTRLcmlqQlE7RUFDRSxtQnhLZ0VLO0FKdStpQmY7QTRLcGlqQlE7RUFDRSxtQnhLNERLO0V3SzNETCxXeEtWQztBSmdqakJYOztBNEtwampCSTtFQUNFLG1CeEt3RVM7QUorK2lCZjtBNEtwampCSTtFQUNFLG1CeEtvRVM7QUprL2lCZjtBNEtuampCUTtFQUNFLG1CeEtnRUs7QUpxL2lCZjtBNEtsampCUTtFQUNFLG1CeEs0REs7RXdLM0RMLFd4S1ZDO0FKOGpqQlg7O0E0S2xrakJJO0VBQ0UsbUJ4S3dFUztBSjYvaUJmO0E0S2xrakJJO0VBQ0UsbUJ4S29FUztBSmdnakJmO0E0S2prakJRO0VBQ0UsbUJ4S2dFSztBSm1nakJmO0E0S2hrakJRO0VBQ0UsbUJ4SzRESztFd0szREwsV3hLVkM7QUo0a2pCWDs7QTRLaGxqQkk7RUFDRSxtQnhLd0VTO0FKMmdqQmY7QTRLaGxqQkk7RUFDRSxtQnhLb0VTO0FKOGdqQmY7QTRLL2tqQlE7RUFDRSxtQnhLZ0VLO0FKaWhqQmY7QTRLOWtqQlE7RUFDRSxtQnhLNERLO0V3SzNETCxXeEtWQztBSjBsakJYOztBNEs5bGpCSTtFQUNFLG1CeEt3RVM7QUp5aGpCZjtBNEs5bGpCSTtFQUNFLG1CeEtvRVM7QUo0aGpCZjtBNEs3bGpCUTtFQUNFLG1CeEtnRUs7QUoraGpCZjtBNEs1bGpCUTtFQUNFLG1CeEs0REs7RXdLM0RMLFd4S1ZDO0FKd21qQlg7O0E0SzVtakJJO0VBQ0UsbUJ4S3dFUztBSnVpakJmO0E0SzVtakJJO0VBQ0UsbUJ4S29FUztBSjBpakJmO0E0SzNtakJRO0VBQ0UsbUJ4S2dFSztBSjZpakJmO0E0SzFtakJRO0VBQ0UsbUJ4SzRESztFd0szREwsV3hLVkM7QUpzbmpCWDs7QTRLMW5qQkk7RUFDRSxtQnhLd0VTO0FKcWpqQmY7QTRLMW5qQkk7RUFDRSxtQnhLb0VTO0FKd2pqQmY7QTRLem5qQlE7RUFDRSxtQnhLZ0VLO0FKMmpqQmY7QTRLeG5qQlE7RUFDRSxtQnhLNERLO0V3SzNETCxXeEtWQztBSm9vakJYOztBNkszb2pCQTtBQUVFO0VBQ0U7QTdLNm9qQko7QTZLem9qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0syb2pCTjtBNkt6b2pCTTs7RUFFRTtFQUNBLFd6S1RHO0FKb3BqQlg7QTZLeG9qQlU7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0syb2pCWjtBNkt0b2pCTTtFQUNFO0E3S3dvakJSO0E2S3JvakJNO0VBQ0U7QTdLdW9qQlI7QTZLbm9qQkk7RUFDRTtBN0txb2pCTjtBNktqb2pCRTtFQUNFO0VBQ0E7QTdLbW9qQko7O0E4S25yakJBO0FBQ0E7RUFDRTtBOUtzcmpCRjtBOEtwcmpCRTtFQUNFLG1CNUprQ1c7RTRKakNYO0E5S3NyakJKOztBOEtscmpCQTtFQUNFO0E5S3FyakJGOztBK0toc2pCQTtBQUVDO0VBQ0M7QS9La3NqQkY7QStLOXJqQkk7RXBLV0E7QVhzcmpCSjtBK0szcmpCSTtFQUNDO0VwS0lEO0FYMHJqQko7QStLenJqQkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9LMnJqQko7QStLenJqQkk7RUFDQztFQUNBO0EvSzJyakJMO0ErS3hyakJJO0VBQ0M7RUFDQTtBL0swcmpCTDtBK0twcmpCQztFQUNDO0VwSzFCRTtFb0s0QkY7RUFDQTtFQUNBO0VBQ0E7QS9Lc3JqQkY7QStLcHJqQkU7RUFDQztBL0tzcmpCSDtBK0tqcmpCRTtFQUNDO0VBQ0E7QS9LbXJqQkg7QStLL3FqQks7RXBLN0NEO0FYK3RqQko7QStLNXFqQks7RUFDQztFcEtwREY7RW9Lc0RFO0EvSzhxakJOO0ErSzFxakJJO0VwSzFEQTtFb0s0REM7RUFDQTtFQUNBO0VBQ0E7QS9LNHFqQkw7QStLcHFqQkU7RUFDQztBL0tzcWpCSDtBK0tucWpCRTtFQUNDO0VBQ0E7RUFDQTtBL0txcWpCSDtBK0tqcWpCSztFcEtsRkQ7QVhzdmpCSjtBK0s5cGpCSztFcEt4RkQ7RW9LMEZFO0EvS2dxakJOO0ErSzVwakJJO0VwSzlGQTtFb0tnR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0s4cGpCTDtBK0t4cGpCRTtFQUNDO0EvSzBwakJIO0ErS2pwakJLO0VwS3BIRDtFb0tzSEU7QS9LbXBqQk47QStLOW9qQks7RUFDQztFcEs1SEY7QVg2d2pCSjtBK0s1b2pCSTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9LOG9qQkw7O0FnTHR5akJBO0FBQ0E7RUFDRTtBaEx5eWpCRjs7QWdMcHlqQkU7O0VBQ0UscUI5SitCVztBbEJ5d2pCZjs7QWlMaHpqQkE7QUFNTTs7OztFQUNFO0FqTGl6akJSOztBaUxyeWpCSTs7Ozs7RUFDRTtFQUNBO0FqTDR5akJOO0FpTDF5akJNOzs7Ozs7Ozs7RUFFRTtBakxtempCUjs7QWlMM3lqQkk7RUFDRTtFQUNBO0FqTDh5akJOO0FpTDV5akJNO0VBRUU7RUFDQTtBakw2eWpCUjs7QWlMbHlqQkk7Ozs7RUFDRSxXN0tuQ0s7RTZLb0NMLG1CL0phYztFK0paZDtBakx3eWpCTjs7QWlMbnlqQkE7RUFDRTtBakxzeWpCRjtBaUxweWpCRTtFQUNFO0FqTHN5akJKO0FpTHB5akJJO0VBQ0U7QWpMc3lqQk47O0FpTC94akJJO0VBQ0U7QWpMa3lqQk47O0FpTHJ4akJFOzs7Ozs7OztFQUNFO0FqTCt4akJKOztBa0x2M2pCQTtBQUVFO0VBQ0U7QWxMeTNqQko7QWtMdDNqQkU7OztFQUdFLHFCaEs4Qlc7QWxCMDFqQmY7QWtMdDNqQkk7OztFQUNFLHFCaEsyQlM7QWxCKzFqQmY7QWtMdDNqQkU7RUFDRTtBbEx3M2pCSjtBa0xqM2pCSTtFQUNFO0FsTG0zakJOO0FrTC8yakJFO0VBQ0U7QWxMaTNqQko7QWtMNzJqQkk7RUFDRSxxQmhLSVM7QWxCMjJqQmY7QWtMMTJqQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEw0MmpCTjtBa0wxMmpCTTtFQUNFO0FsTDQyakJSO0FrTHoyakJNO0VBQ0U7QWxMMjJqQlI7QWtMeDJqQk07RUFDRTtBbEwwMmpCUjtBa0x2MmpCTTtFQUNFO0FsTHkyakJSO0FrTHQyakJNO0VBQ0U7QWxMdzJqQlI7QWtMcjJqQk07RUFDRTtBbEx1MmpCUjs7QW1MNzZqQkE7QUFFRTtFQUNFO0FuTCs2akJKOztBbUwzNmpCQTtFQUNFO0FuTDg2akJGOztBb0x0N2pCQTtBQUNBO0VBQ0U7QXBMeTdqQkY7O0FvTHQ3akJBO0VBQ0U7RUFPQTtFQUVBO0VBRUE7RXpLQ0U7QVhvN2pCSjtBb0xqN2pCRTtFQUNFO0VBQ0E7RUFDQSxvQ2xLd0NPO0VrS3ZDUCxXaExSTztFZ0xTUDtFQUNBO0FwTG03akJKO0FvTGg3akJFOztFQUVFO0VBQ0E7QXBMazdqQko7QW9MLzZqQkU7RUFDRTtFQUNBO0FwTGk3akJKO0FvTC82akJJO0VBRUU7RUFDQTtBcExnN2pCTjtBb0w1NmpCRTtFQUNFLG1CbEtrQmdCO0VrS2pCaEIsb0NsS2VPO0VrS2RQLFdoTGpDTztFZ0xrQ1A7RUFDQTtBcEw4NmpCSjtBb0wzNmpCRTtFQUNFO0FwTDY2akJKO0FvTDE2akJFO0VBQ0U7QXBMNDZqQko7O0FxTHgrakJBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QXJMMitqQkY7QXFMeitqQkU7RUFDRTtFQUNBO0FyTDIrakJKOztBcUx2K2pCQTtFQUNFO0VBQ0E7QXJMMCtqQkY7QXFMeCtqQkU7RUFDRTtFQUNBO0FyTDArakJKOztBcUx0K2pCQTtFQUNFO0VBQ0E7RUFDQTtBckx5K2pCRjtBcUx2K2pCRTtFQUNFO0VBQ0E7QXJMeStqQko7O0FzTHRna0JBO0FBQ0E7RUFDRTtFQUNBLHFCcEtvQ2E7QWxCcStqQmY7QXNMdmdrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEx5Z2tCSjtBc0x2Z2tCSTtFQUNFO0F0THlna0JOOztBdUx4aGtCQTtBQUVFOztFQUVFLHFCckttQ1c7QWxCdS9qQmY7O0F3TDloa0JBO0FBRUU7RUFDRTtBeExnaWtCSjtBd0w3aGtCRTtFQUNFO0F4TCtoa0JKO0F3TDVoa0JFO0VBQ0U7QXhMOGhrQko7QXdMM2hrQkU7RUFDRTtBeEw2aGtCSjs7QXlMNWlrQkE7QUFDQTs7RUFFRTtBekwraWtCRjs7QXlMNWlrQkE7RUFDRTtBekwraWtCRjs7QXlMdGlrQkE7RUFDRTtBekx5aWtCRjtBeUx2aWtCRTtFQUNFLHFCdkttQlc7QWxCc2hrQmY7O0F5THJpa0JBO0VBR0U7QXpMd2lrQkY7O0F5THJpa0JBO0VBQ0U7QXpMd2lrQkY7O0F5THJpa0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBR0E7QXpMd2lrQkY7O0F5THJpa0JBO0VBQ0U7RUFDQTtBekx3aWtCRjtBeUx0aWtCRTtFQUNFO0VBQ0E7RUFDQTtBekx3aWtCSjtBeUxyaWtCRTtFQUNFO0VBQ0E7QXpMdWlrQko7QXlMcGlrQkU7RUFDRTtBekxzaWtCSjs7QTBMdG1rQkE7QUFFRTtFQUNFO0ExTHdta0JKO0EwTHJta0JFOztFQUVFO0VBQ0E7RUFFQTtFQUVBO0ExTHVta0JKO0EwTHBta0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFMc21rQko7QTBMbm1rQkU7RUFDRTtFQUNBO0ExTHFta0JKO0EwTGxta0JFOztFQUVFO0ExTG9ta0JKO0EwTGpta0JFO0VBQ0U7RUFDQTtFQUNBO0ExTG1ta0JKO0EwTGhta0JFO0VBQ0U7QTFMa21rQko7QTBML2xrQkU7RUFDRTtBMUxpbWtCSjtBMEw5bGtCRTtFQUNFO0ExTGdta0JKO0EwTDdsa0JFOztFQUVFO0ExTCtsa0JKO0EwTDVsa0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUw4bGtCSjtBMEwzbGtCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFMNmxrQko7QTBMMWxrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExTDRsa0JKO0EwTHpsa0JFOztFQUVFO0VBQ0E7QTFMMmxrQko7QTBMeGxrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExTDBsa0JKO0EwTHZsa0JFO0VBQ0U7RUFDQTtBMUx5bGtCSjtBMEx0bGtCRTtFQUNFO0VBQ0E7RUFDQTtBMUx3bGtCSjtBMExybGtCRTtFQUNFO0ExTHVsa0JKO0EwTHBsa0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFMc2xrQko7QTBMbmxrQkU7RUFDRTtFQUNBO0ExTHFsa0JKO0EwTGxsa0JFO0VBQ0U7RUFDQTtBMUxvbGtCSjtBMExqbGtCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExTG1sa0JKO0EwTGhsa0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFMa2xrQko7O0EyTHB1a0JBO0FBRUU7RUFDRSxXdkxjTztFdUxiUDtBM0xzdWtCSjtBMkxudWtCRTtFQUNFLGtCdkxTTztBSjR0a0JYOztBMkxodWtCRTtFQUNFO0EzTG11a0JKO0EyTGp1a0JJO0VBQ0U7QTNMbXVrQk47QTJManVrQk07RUFDRTtFQUNBO0EzTG11a0JSO0EyTGp1a0JRO0VBQ0U7QTNMbXVrQlY7QTJMOXRrQlU7O0VBRUU7QTNMZ3VrQlo7QTJMNXRrQlk7Ozs7O0VBQ0U7RUFDQTtBM0xrdWtCZDtBMkw1dGtCVTtFQURGO0lBRUk7SUFDQTtFM0wrdGtCVjtBQUNGO0E0TDd3a0JBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QTVMK3drQkY7QTRMN3drQkU7RUFDRTtBNUwrd2tCSjtBNEw1d2tCRTtFQUNFO0VBQ0E7RUFDQTtBNUw4d2tCSjtBNEw1d2tCSTtFQUNFO0VBQ0E7QTVMOHdrQk47QTRMMXdrQkU7RUFLRTtFQUNBO0VBQ0E7QTVMd3drQko7QTRMOXdrQkk7RUFDRTtFQUNBO0E1TGd4a0JOO0E0TDF3a0JJO0VBQ0UsbUIxS21DYztBbEJ5dWtCcEI7QTRMeHdrQk07RUFDRTtFQUNBO0VBQ0E7QTVMMHdrQlI7QTRMdHdrQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQSxtQjFLZWM7RTBLZGQsb0MxS1lLO0FsQjR2a0JYO0E0THR3a0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0E1THd3a0JSO0E0THJ3a0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0E1THV3a0JSO0E0TGx3a0JNO0VBQ0U7RUFDQTtFQUNBO0E1TG93a0JSO0E0TGx3a0JRO0VBQ0U7RUFDQTtFQUNBO0E1TG93a0JWO0E0TGp3a0JRO0VBQ0U7RUFDQTtFQUNBO0E1TG13a0JWO0E0TDd2a0JNO0VBQ0U7RUFDQTtFQUNBO0E1TCt2a0JSO0E0TDd2a0JRO0VBQ0U7RUFDQTtFQUNBO0E1TCt2a0JWO0E0TDV2a0JRO0VBQ0U7RUFDQTtFQUNBO0E1TDh2a0JWO0E0THh2a0JNO0VBQ0U7RUFDQTtBNUwwdmtCUjtBNEx4dmtCUTtFQUNFO0VBQ0E7QTVMMHZrQlY7QTRMdnZrQlE7RUFDRTtFQUNBO0E1THl2a0JWO0E0TG52a0JNO0VBQ0U7RUFDQTtBNUxxdmtCUjtBNExudmtCUTtFQUNFO0VBQ0E7QTVMcXZrQlY7QTRMbHZrQlE7RUFDRTtFQUNBO0E1TG92a0JWO0E0TDl1a0JFO0VBS0UsbUIxS3pIUztFMEswSFQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QTVMNHVrQko7QTRMenZrQkk7RUFDRTtFQUNBO0E1TDJ2a0JOO0E0TDl1a0JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUxndmtCTjtBNEw5dWtCTTtFQUNFO0E1TGd2a0JSO0E0TDl1a0JRO0VBQ0U7QTVMZ3ZrQlY7QTRMNXVrQk07RUFDRTtFQUNBO0VBQ0E7QTVMOHVrQlI7QTRMM3VrQk07RUFDRTtFQUNBO0E1TDZ1a0JSO0E0TDF1a0JNO0VBQ0U7QTVMNHVrQlI7QTRMenVrQk07RUFDRTtFQUNBO0VBQ0E7QTVMMnVrQlI7QTRMeHVrQk07RUFDRTtFQUNBO0E1TDB1a0JSO0E0THZ1a0JNO0VBQ0U7RUFDQTtFQUNBO0E1THl1a0JSO0E0THB1a0JFO0VBQ0U7RUFVQTtFQUNBO0VBQ0E7RUFDQTtBNUw2dGtCSjtBNEx4dWtCSTtFQUtFO0VBQ0E7QTVMc3VrQk47QTRMM3VrQk07RUFDRTtFQUNBO0E1TDZ1a0JSO0E0THR0a0JJO0VBQ0U7RUFDQTtFQUNBO0E1THd0a0JOO0E0THJ0a0JRO0VBQ0U7RUFDQTtFQUNBO0E1THV0a0JWO0E0TGx0a0JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVMb3RrQk47QTRManRrQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUxtdGtCTjtBNExodGtCUTtFQUNFO0E1TGt0a0JWOztBNEwzc2tCQTtFQUNFO0VBQ0E7RUFDQTtBNUw4c2tCRjtBNEw1c2tCRTtFQUNFO0E1TDhza0JKO0E0TDNza0JFO0VBQ0U7RUFDQTtFQUNBO0E1TDZza0JKO0E0TDNza0JJO0VBQ0U7RUFDQTtBNUw2c2tCTjtBNEx6c2tCRTtFQUtFO0VBQ0E7RUFDQTtBNUx1c2tCSjtBNEw3c2tCSTtFQUNFO0VBQ0E7QTVMK3NrQk47QTRMenNrQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUwyc2tCTjtBNEx6c2tCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUwyc2tCUjtBNEx6c2tCUTtFQUNFO0VBQ0E7RUFDQTtBNUwyc2tCVjtBNEx4c2tCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUwwc2tCVjtBNEx4c2tCVTtFQUNFO0E1TDBza0JaO0E0THJza0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUx1c2tCUjtBNExyc2tCUTtFQUNFO0E1THVza0JWO0E0TGpza0JFO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVMK3JrQko7QTRMenNrQkk7RUFDRTtFQUNBO0E1TDJza0JOO0E0TGpza0JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUxtc2tCTjtBNExqc2tCTTtFQUNFO0E1TG1za0JSO0E0TGpza0JRO0VBQ0U7QTVMbXNrQlY7O0FBL3prQkE7QUFDQTtBNkx2UUE7QUFDQTtFQUNFO0E3TDBrbEJGO0E2THprbEJFO0VBQ0U7RUFDQTtBN0wya2xCSjtBNkx4a2xCRTtFQUNFO0VBQ0E7QTdMMGtsQko7QTZMdGtsQkk7RUFDRSxnQnpMUks7RXlMU0w7RWxMRUY7RWtMQUU7QTdMd2tsQk47QTZMcGtsQlU7Ozs7Ozs7OztFQUNFO0VBQ0E7RWxMTlI7QVhxbGxCSjtBNkw1a2xCWTs7Ozs7Ozs7O0VBQ0U7RUFDQTtBN0xzbGxCZDtBNkxsbGxCVTtFQUNFO0E3TG9sbEJaO0E2TGxsbEJZO0VsTGxCUjtFa0xvQlU7RUFDQTtFQUNBO0E3TG9sbEJkO0E2TC9rbEJRO0VBQ0Usb0MzS2tCQztFMktqQkQ7RUFDQTtFQUNBO0E3TGlsbEJWO0E2TDdrbEJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0wra2xCUjtBNkwza2xCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFFQTtBN0wwa2xCTjtBNkx4a2xCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3TDBrbEJSO0E2THhrbEJRO0VBQ0U7RUFDQTtBN0wwa2xCVjtBNkx2a2xCUTtFQUNFO0VBQ0E7QTdMeWtsQlY7QWV4bGxCSTtFOEtYQTtJQWlDSTtFN0x1a2xCTjtBQUNGO0E2THBrbEJJO0VBQ0U7QTdMc2tsQk47QTZMamtsQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsTDVGRjtBWGdxbEJKO0Flem1sQkk7RThLZ0NBO0lBUUk7SUFDQTtJQUNBO0lBQ0E7RTdMcWtsQk47QUFDRjtBNkxua2xCTTtFQU1FO0VBRUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTtBN0xna2xCUjtBZTVubEJJO0U4SzhDRTtJQWdCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFJQTtFN0xna2xCUjtBQUNGO0E2TDlqbEJRO0VBQ0U7RUFDQTtBN0xna2xCVjtBNkw3amxCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3pMNUlDO0V5TDZJRDtFbEw1SU47QVg0c2xCSjtBNkwzamxCTTtFQUNFO0VBQ0E7RUFDQTtBN0w2amxCUjtBNkwzamxCUTtFQUNFO0VBQ0E7QTdMNmpsQlY7QWU5cGxCSTtFOEsrRkk7SUFJSTtJQUNBO0U3TCtqbEJWO0FBQ0Y7QTZMNWpsQlk7Ozs7Ozs7OztFQUNFO0VBQ0E7RWxMaktWO0FYd3VsQko7QTZMcGtsQmM7Ozs7Ozs7OztFQUNFO0VBQ0E7QTdMOGtsQmhCO0E2THprbEJjO0VsTDNLVjtFa0w2S1k7RUFDQTtFQUNBO0E3TDJrbEJoQjtBNkx0a2xCVTtFQUNFLG9DM0t2SUQ7RTJLd0lDO0VBQ0E7RUFDQTtFQUNBO0E3THdrbEJaO0E2TG5rbEJNO0VBQ0U7RUFDQTtBN0xxa2xCUjtBNkxsa2xCTTtFQUNFO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QTdMa2tsQlI7QTZMaGtsQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0xra2xCVjtBNkxoa2xCVTtFQUNFO0VBQ0E7QTdMa2tsQlo7QTZML2psQlU7RUFDRTtFQUNBLGMzS3pLQztBbEIwdWxCYjtBZXB1bEJJO0U4SzRJRTtJQThCSTtFN0wramxCUjtBQUNGO0E2TDNqbEJJO0VBQ0U7QTdMNmpsQk47QTZMM2psQk07RUFDRTtBN0w2amxCUjtBNkwzamxCUTtFQUNFO0VBQ0E7QTdMNmpsQlY7QTZMMWpsQlE7RUFDRTtFQUNBO0E3TDRqbEJWOztBNkxyamxCQTtFQUNFO0VBQ0E7QTdMd2psQkY7O0E4THQwbEJBO0FBQ0E7RUFDQztBOUx5MGxCRDtBOEx4MGxCQztFQUNDO0VBQ0E7QTlMMDBsQkY7QThMejBsQkU7RUFIRDtJQUlFO0U5TDQwbEJEO0FBQ0Y7QThMejBsQkM7RUFDQztFQUNBO0E5TDIwbEJGO0E4THYwbEJFO0VBREQ7SUFFRTtFOUwwMGxCRDtBQUNGOztBK0w1MWxCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VwTGFBO0FYbTFsQko7QStMNTFsQk07RUFDRTtFQUNBLG9DN0txREc7RTZLcERIO0EvTDgxbEJSO0ErTDMxbEJNO0VBQ0U7RUFDQSxvQzdLK0NHO0FsQjh5bEJYO0ErTDExbEJNO0VBQ0U7QS9MNDFsQlI7QStMMTFsQlE7RUFDRTtFN0dBUiwyQjZHQzJCO0EvTGcybEI3QjtBK0w5MWxCVTtFQUNFO0VBQ0E7QS9MZzJsQlo7QStMNTFsQk07RUF6QkY7SUEwQkk7SUFDQTtFL0wrMWxCTjtBQUNGO0ErTDUxbEJJO0VBS0U7RUFFQTtBL0wyMWxCTjtBK0x6MWxCTTtFQVRGO0lBVUk7SUFDQTtJQUNBO0UvTDQxbEJOO0FBQ0Y7QStMMzFsQk07RUFDRTtFQUNBO0VBQ0E7QS9MNjFsQlI7QStMMzFsQlE7RUFDRTtFQUNBO0EvTDYxbEJWO0ErTDExbEJRO0VBQ0U7RUFDQTtBL0w0MWxCVjtBK0wxMWxCVTtFQUNFO0EvTDQxbEJaO0ErTHIxbEJFO0VBQ0U7QS9MdTFsQko7QStMcjFsQkk7RUFDRTtBL0x1MWxCTjtBK0xwMWxCUTtFQUNFLGM3S2hCRztFNktpQkg7RUFDQTtFQUNBO0VBQ0E7RUFRQTtFQUlBO0VBSUE7QS9MazFsQlY7QStMaDFsQlU7RUFDRSxXM0x6RkQ7RTJMMEZDO0EvTGsxbEJaO0ErTDUwbEJJO0VBQ0U7RUFDQTtBL0w4MGxCTjtBK0w1MGxCTTtFQUNFO0EvTDgwbEJSO0ErTDUwbEJRO0VBQ0U7RUFDQTtFQUNBO0EvTDgwbEJWO0ErTDMwbEJRO0VBTUU7RUFFQTtFQUVBO0EvTHkwbEJWO0ErTHYwbEJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFNQTtFQUVBO0VBRUE7QS9McTBsQlo7QStMbjBsQlk7RUFDRTtFQUNBO0EvTHEwbEJkOztBQXB0bEJBO0FBQ0E7QUFHQTtBZ001UUU7RUFDRTtBaE1rK2xCSjtBZ01qK2xCSTtFQUNFO0VBQ0E7QWhNbStsQk47QWdNaCtsQkU7RUFDRTtFQUNBO0VBQ0E7QWhNaytsQko7QWdNaitsQkk7RUFDRTtBaE1tK2xCTjtBZ01oK2xCSTtFQUNFO0FoTWsrbEJOO0FnTS85bEJJO0VBQ0U7QWhNaStsQk47QWdNOTlsQkk7RUFDRTtBaE1nK2xCTjtBZ003OWxCSTtFQUNFO0FoTSs5bEJOO0FnTTU5bEJJO0VBQ0U7QWhNODlsQk47O0FnTXg5bEJBO0VBQ0U7RUFDQTtFQUNBO0FoTTI5bEJGOztBZ01yOWxCSTtFQUNFO0FoTXc5bEJOOztBZ01uOWxCQTtFQUNFO0FoTXM5bEJGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9taXhpbnMvX2FuaW1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fbWVudS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fbWlzYy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9taXhpbnMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fYmxvY2txb3V0ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL19taXNjLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvX25hdmJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9fdXRpbGl0aWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvbWl4aW5zL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvX2RlbW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9kYXNoYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19hY2NvcmRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fYmFkZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvbWl4aW5zL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19ib290c3RyYXAtYWxlcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fYm9vdHN0cmFwLXByb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvbWl4aW5zL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvbWl4aW5zL19jYXJkcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NoZWNrYm94LXJhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2dvb2dsZS1tYXBzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fbG9hZGVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fY29sb3JlZC1iYWxscy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fZ2xvd2luZy1iYWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9sb2FkZXJzL19waXhlbC1sb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL2xvYWRlcnMvX3NxdWFyZS1ib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL2xvYWRlcnMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fY2lyY2xlLWxvYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fanVtcGluZy1kb3RzLWxvYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fYmFyLWxvYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fc3F1YXJlLXBhdGgtbG9hZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9sb2FkZXJzL19kb3Qtb3BhY2l0eS1sb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL2xvYWRlcnMvX2ZsaXAtc3F1YXJlLWxvYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbG9hZGVycy9fbW92aW5nLXNxdWFyZS1sb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19uZXctYWNjb3VudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19wb3BvdmVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fcG9wb3ZlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19wb3J0Zm9saW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19wcmV2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fcHJpY2luZy10YWJsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9taXhpbnMvX3RhYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL190b2RvLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fdG9vbHRpcHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL191c2VyLXByb2ZpbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL193aWRnZXRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy90aW1lbGluZS9fdGltZWxpbmUtaG9yaXpvbnRhbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvdGltZWxpbmUvX3RpbWVsaW5lLXZlcnRpY2FsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9tYWlsLWNvbXBvbmVudHMvX21haWwtc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvbWFpbC1jb21wb25lbnRzL19tYWlsLWxpc3QtY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9tYWlsLWNvbXBvbmVudHMvX21lc3NhZ2Vjb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19hY2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2F2Z3J1bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2Jvb3RzdHJhcC10b3VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19jaGFydGpzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19jaGFydGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fY29kZW1pcnJvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fY29sY2FkZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fY29sb3JwaWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2NvbnRleHQtbWVudS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fY2xvY2twaWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2RhdGEtdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19kcm9waWZ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19kcm9wem9uZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fZmxvdC1jaGFydC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fZnVsbC1jYWxlbmRhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fZ29vZ2xlLWNoYXJ0cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9faWNoZWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19qcXVlcnktZmlsZS11cGxvYWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2pzLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2p2ZWN0b3JtYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2xpZ2h0LWdhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX2xpc3RpZnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX25vLXVpLXNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL21peGlucy9fbm8tdWktc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19vd2wtY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX3Byb2dyZXNzYmFyLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL19wd3MtdGFicy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fcXVpbGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX3JhdGluZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fc2VsZWN0Mi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fc3VtbWVybm90ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fc3dlZXQtYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX3N3aXRjaGVyeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fdGFncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fdGlueW1jZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvX3R5cGVhaGVhZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fd3lzaWVkaXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9feC1lZGl0YWJsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9fd2l6YXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2NyZWVucy9fYXV0aC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NjcmVlbnMvX2Vycm9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2NyZWVucy9fcHJvZmlsZS1wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvX2NvaW5uZXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBbTWFzdGVyIFN0eWxlc2hlZXRdXG4vL1xuLy8gIFByb2plY3Q6XHRDbG91ZFVpIEFkbWluXG4vL1ZlcnNpb246XHQxLjIuMlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vXG4vL1xuLy9cbi8vLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgPT09PT0gVGFibGUgb2YgQ29udGVudHMgPT09PT1cbi8vXG4vLyAgKiBCb290c3RyYXAgZnVuY3Rpb25zXG4vLyAgKiBUZW1wbGF0ZSB2YXJpYWJsZXNcbi8vICAqIFNDU1MgQ29tcGFzcyBGdW5jdGlvbnNcbi8vICAqIEJvb3N0cmFwIE1haW4gU0NTU1xuLy8gICogVGVtcGxhdGUgbWl4aW5zXG4vLyAgICArIEFuaW1hdGlvbiBNaXhpbnNcbi8vICAgICsgQWNjb3JkaW9uIE1peGluc1xuLy8gICAgKyBCYWNrZ3JvdW5kIE1peGluc1xuLy8gICAgKyBCYWRnZXMgTWl4aW5zXG4vLyAgICArIEJsb2NrUXVvdGUgTWl4aW5zXG4vLyAgICArIEJ1dHRvbnMgTWl4aW5zXG4vLyAgICArIEJyZWFkY3J1bWJzIE1peGluc1xuLy8gICAgKyBDYXJkcyBNaXhpbnNcbi8vICAgICsgQ29sb3IgRnVuY3Rpb25zIE1peGluc1xuLy8gICAgKyBNZW51IE1peGluc1xuLy8gICAgKyBNaXNjZWxsYW5lb3VzIE1peGluc1xuLy8gICAgKyBOby11aS1zbGlkZXIgTWl4aW5zXG4vLyAgICArIFBhZ2luYXRpb24gTWl4aW5zXG4vLyAgICArIFBvcG92ZXIgTWl4aW5zXG4vLyAgICArIFRhYnMgTWl4aW5zXG4vLyAgICArIFRvb2x0aXAgTWl4aW5zXG4vLyAgICArIFRleHQgTWl4aW5zXG4vLyAgKiBDb3JlIFN0eWxlc1xuLy8gICAgKyBSZXNldCBTdHlsZXNcbi8vICAgICsgRm9udHNcbi8vICAgICsgRnVuY3Rpb25zXG4vLyAgICArIFR5cG9ncmFwaHlcbi8vICAgICsgTWlzY2VsbGFuZW91c1xuLy8gICAgKyBGb290ZXJcbi8vICAgICsgTGF5b3V0c1xuLy8gICAgKyBVdGlsaXRpZXNcbi8vICAgICsgRGVtbyBzdHlsZXNcbi8vICAgICsgRGFzaGJvYXJkXG4vLyAgKiBDb21wb25lbnRzXG4vLyAgICArIEFjY29yZGlvbnNcbi8vICAgICsgQmFkZ2VzXG4vLyAgICArIEJvb3RzdHJhcCBBbGVydHNcbi8vICAgICsgQm9vc3RyYXAgUHJvZ3Jlc3Ncbi8vICAgICsgQnV0dG9uc1xuLy8gICAgKyBCcmVhZGNydW1ic1xuLy8gICAgKyBDYXJkc1xuLy8gICAgKyBDaGVja2JveGVzIGFuZCBSYWRpb3Ncbi8vICAgICsgRHJvcGRvd25zXG4vLyAgICArIEZvcm1zXG4vLyAgICArIEdvb2dsZSBNYXBzXG4vLyAgICArIEljb25zXG4vLyAgICArIExpc3RzXG4vLyAgICArIExvYWRlcnNcbi8vICAgICsgTW9kYWxzXG4vLyAgICArIE5ldyBBY2NvdW50c1xuLy8gICAgKyBQYWdpbmF0aW9uXG4vLyAgICArIFBvcG92ZXJzXG4vLyAgICArIFBvcnRmb2xpb1xuLy8gICAgKyBQcmV2aWV3XG4vLyAgICArIFByaWNpbmcgVGFibGVcbi8vICAgICsgVGFibGVzXG4vLyAgICArIFRhYnNcbi8vICAgICsgVG9vbHRpcHNcbi8vICAgICsgVGltZWxpbmVcbi8vICAgICsgVG9kbyBMaXN0XG4vLyAgICArIFVzZXIgUHJvZmlsZVxuLy8gICogRW1haWxcbi8vICAgICsgTWFpbCBTaWRlYmFyXG4vLyAgICArIE1haWwgTGlzdCBDb250YWluZXJcbi8vICAgICsgTWVzc2FnZSBDb250ZW50XG4vLyAgKiBQbHVnaW4gT3ZlcnJpZGVzXG4vLyAgICArIEFjZSBFZGl0b3Jcbi8vICAgICsgQXZncnVuZCBQb3B1cFxuLy8gICAgKyBCb290c3RyYXAgVG91clxuLy8gICAgKyBDaGFydGpzXG4vLyAgICArIENoYXJ0aXN0XG4vLyAgICArIENvZGVNaXJyb3Jcbi8vICAgICsgQ29sY2FkZVxuLy8gICAgKyBDb2xvcnBpY2tlclxuLy8gICAgKyBDb250ZXh0IE1lbnVcbi8vICAgICsgRGF0YSBUYWJsZXNcbi8vICAgICsgRGF0ZXBpY2tlclxuLy8gICAgKyBEcm9waWZ5XG4vLyAgICArIERyb3B6b25lXG4vLyAgICArIEZsb3QgY2hhcnRcbi8vICAgICsgRnVsbCBDYWxlbmRhclxuLy8gICAgKyBHb29nbGUgQ2hhcnRzXG4vLyAgICArIEljaGVja1xuLy8gICAgKyBKcXVlcnkgRmlsZSBVcGxvYWRcbi8vICAgICsgSnMtZ3JpZFxuLy8gICAgKyBKdmVjdG9ybWFwXG4vLyAgICArIExpZ2h0IEdhbGxlcnlcbi8vICAgICsgTGlzdGlmeVxuLy8gICAgKyBOby11aS1zbGlkZXJcbi8vICAgICsgT3dsLWNhcm91c2VsXG4vLyAgICArIFByb2dyZXNzYmFyLWpzXG4vLyAgICArIFB3cy10YWJzXG4vLyAgICArIFF1aWxsIEVkaXRvclxuLy8gICAgKyBSYXRpbmdcbi8vICAgICsgU2VsZWN0MlxuLy8gICAgKyBTdW1tZXJub3RlIEVkaXRvclxuLy8gICAgKyBTd2VldEFsZXJ0XG4vLyAgICArIFN3aXRjaGVyeVxuLy8gICAgKyBUYWdzXG4vLyAgICArIFRpbnlNQ0UgRWRpdG9yXG4vLyAgICArIFRvYXN0XG4vLyAgICArIFR5cGVhaGVhZFxuLy8gICAgKyBXeXNpIEVkaXRvclxuLy8gICAgKyBYLWVkaXRhYmxlXG4vLyAgICArIFdpemFyZFxuLy8gICogU2NyZWVuc1xuLy8gICAgKyBBdXRoXG4vLyAgICArIEVycm9yXG4vLyAgICArIExvY2sgU2NyZWVuXG4vLyAgICArIExhbmRpbmdcbi8vICAgICsgUHJvZmlsZSBQYWdlXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiA9PT0gSW1wb3J0IEJvb3RzdHJhcCBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyA9PT0gKi9cbi8vQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbi8vQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgJ35ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnfmJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiA9PT0gSW1wb3J0IHRlbXBsYXRlIHZhcmlhYmxlcyA9PT0gKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PSBTQ1NTIENvbXBhc3MgRnVuY3Rpb25zID09PSAqL1xuLy9AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzXCI7XG4vL0BpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGVcIjtcbi8vQGltcG9ydCAnfmNvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzJztcbi8vQGltcG9ydCAnfmNvbXBhc3MtbWl4aW5zL2xpYi9hbmltYXRlJztcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PSBCb29zdHJhcCBNYWluIFNDU1MgPT09ICovXG4vL0BpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwJztcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PSBUZW1wbGF0ZSBtaXhpbnMgPT09ICovXG5AaW1wb3J0IFwibWl4aW5zL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlc1wiO1xuQGltcG9ydCBcIm1peGlucy9ibG9ja3FvdXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbWVudVwiO1xuQGltcG9ydCBcIm1peGlucy9taXNjXCI7XG5AaW1wb3J0IFwibWl4aW5zL25vLXVpLXNsaWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcG9wb3ZlcnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFic1wiO1xuQGltcG9ydCBcIm1peGlucy90b29sdGlwc1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogPT09IENvcmUgU3R5bGVzID09PSAqL1xuQGltcG9ydCBcInJlc2V0XCI7XG5AaW1wb3J0IFwiZm9udHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwibWlzY1wiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImZvb3RlclwiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcImRlbW9cIjtcbkBpbXBvcnQgXCJkYXNoYm9hcmRcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PSBDb21wb25lbnRzID09PSAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmFkZ2VzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ib290c3RyYXAtYWxlcnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ib290c3RyYXAtcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2hlY2tib3gtcmFkaW9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ29vZ2xlLW1hcHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saXN0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbG9hZGVycy9sb2FkZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhbHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmV3LWFjY291bnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3J0Zm9saW9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ByZXZpZXdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ByaWNpbmctdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFic1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9kby1saXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b29sdGlwc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdXNlci1wcm9maWxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy93aWRnZXRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aW1lbGluZS90aW1lbGluZS1ob3Jpem9udGFsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aW1lbGluZS90aW1lbGluZS12ZXJ0aWNhbFwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogPT09IEVtYWlsID09PSAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFpbC1jb21wb25lbnRzL21haWwtc2lkZWJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFpbC1jb21wb25lbnRzL21haWwtbGlzdC1jb250YWluZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21haWwtY29tcG9uZW50cy9tZXNzYWdlY29udGVudFwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogPT09IFBsdWdpbiBvdmVycmlkZXMgPT09ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2FjZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9hdmdydW5kXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2Jvb3RzdHJhcC10b3VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2NoYXJ0anNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvY2hhcnRpc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvY29kZW1pcnJvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9jb2xjYWRlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2NvbG9ycGlja2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2NvbnRleHQtbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9jbG9ja3BpY2tlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9kYXRhLXRhYmxlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9kYXRlcGlja2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2Ryb3BpZnlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvZHJvcHpvbmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvZmxvdC1jaGFydFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9mdWxsLWNhbGVuZGFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2dvb2dsZS1jaGFydHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvaWNoZWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2pxdWVyeS1maWxlLXVwbG9hZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9qcy1ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL2p2ZWN0b3JtYXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvbGlnaHQtZ2FsbGVyeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9saXN0aWZ5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL25vLXVpLXNsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9vd2wtY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvcHJvZ3Jlc3NiYXItanNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvcHdzLXRhYnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvcXVpbGxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvcmF0aW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL3NlbGVjdDJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvc3VtbWVybm90ZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9zd2VldC1hbGVydFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy9zd2l0Y2hlcnlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvdGFnc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy90aW55bWNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL3RvYXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL3R5cGVhaGVhZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGx1Z2luLW92ZXJyaWRlcy93eXNpZWRpdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wbHVnaW4tb3ZlcnJpZGVzL3gtZWRpdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BsdWdpbi1vdmVycmlkZXMvd2l6YXJkXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiA9PT0gTGFuZGluZyBzY3JlZW5zID09PSAqL1xuQGltcG9ydCBcInNjcmVlbnMvYXV0aFwiO1xuQGltcG9ydCBcInNjcmVlbnMvZXJyb3JcIjtcbkBpbXBvcnQgXCJzY3JlZW5zL2xvY2stc2NyZWVuXCI7XG5AaW1wb3J0IFwic2NyZWVucy9wcm9maWxlLXBhZ2VcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PSBMYXlvdXRzID09PSAqL1xuLy8gQGltcG9ydCBcImxheW91dHMvaG9yaXpvbnRhbC1sYXlvdXQvaG9yaXpvbnRhbC1sYXlvdXRzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBDb2lubmV0LmlvXG5AaW1wb3J0IFwiY29pbm5ldFwiOyIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8vLy8vLy8vLy8gQ09MT1IgU1lTVEVNIC8vLy8vLy8vLy9cblxuJHRoZW1lLWNvbG9yczogKFxuICBwcmltYXJ5OiAjNDM5YWZmLFxuICBzZWNvbmRhcnk6ICNmZGJhYjEsXG4gIHN1Y2Nlc3M6ICM3ZWQzMjEsXG4gIGluZm86ICM0NzI5YjcsXG4gIHdhcm5pbmc6ICNmNWE2MjMsXG4gIGRhbmdlcjogI2ZmNWU1ZSxcbiAgbGlnaHQ6ICNmM2Y1ZjYsXG4gIGRhcms6ICMwOTBlNDBcbik7XG5cbiRjb2xvcnM6IChcbiAgYmx1ZTogJGJsdWUsXG4gIGluZGlnbzogJGluZGlnbyxcbiAgcHVycGxlOiAkcHVycGxlLFxuICBwaW5rOiAkcGluayxcbiAgcmVkOiAkcmVkLFxuICBvcmFuZ2U6ICRvcmFuZ2UsXG4gIHllbGxvdzogJHllbGxvdyxcbiAgZ3JlZW46ICRncmVlbixcbiAgdGVhbDogJHRlYWwsXG4gIGN5YW46ICRjeWFuLFxuICB3aGl0ZTogJHdoaXRlLFxuICB3aGl0ZS1zbW9rZTogI2YzZjVmNixcbiAgZ3JheTogJGdyYXktNjAwLFxuICBncmF5LWxpZ2h0OiAjOGJhMmI1LFxuICBncmF5LWxpZ2h0ZXN0OiAjZjdmN2Y5LFxuICBncmF5LWRhcms6ICMyOTJiMmNcbik7XG5cblxuLy8vLy8vLy8vLyBDT0xPUiBWQVJJQUJMRVMgLy8vLy8vLy8vL1xuXG4kY29udGVudC1iZzogI2YwZjJmNztcbiRmb290ZXItYmc6ICRjb250ZW50LWJnO1xuJGZvb3Rlci1jb2xvcjogY29sb3IoZGFyayk7XG4kYm9yZGVyLWNvbG9yOiAjZjJmMmYyO1xuXG4vLy8vLy8vLy8vIENPTE9SIFZBUklBQkxFUyAvLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vIFNPQ0lBTCBDT0xPUlMgLy8vLy8vLy8vL1xuXG4kc29jaWFsLWNvbG9yczogKFxuICB0d2l0dGVyOiAjMWRhMWYyLFxuICBmYWNlYm9vazogIzNiNTc5ZCxcbiAgZ29vZ2xlOiAjZGM0YTM4LFxuICBsaW5rZWRpbjogIzAxNzdiNCxcbiAgcGludGVyZXN0OiAjY2MyMTI3LFxuICB5b3V0dWJlOiAjZTUyZDI3LFxuICBnaXRodWI6ICMzMzMzMzMsXG4gIGJlaGFuY2U6ICMxNzY5ZmYsXG4gIGRyaWJiYmxlOiAjZWE0Yzg5LFxuICByZWRkaXQ6ICNmZjQ1MDBcbik7XG5cbi8vLy8vLy8vLy8gU09DSUFMIENPTE9SUyAvLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8gRk9OVFMgLy8vLy8vLy8vL1xuXG4kdHlwZS0xIDogICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXG4kZGVmYXVsdC1mb250LXNpemU6IC44NzVyZW07XG4kdGV4dC1tdXRlZDogIzk1OTU5NTtcbiRib2R5LWNvbG9yOiAkYmxhY2s7XG4kdGl0bGUtY29sb3I6ICMwMDAwMDA7XG5cbi8vLy8vLy8vLy8gRk9OVCBWQVJJQUJMRVMgLy8vLy8vLy8vL1xuXG5cbi8vLy8vLy8vLyBIT1JJWk9OVEFMIE1FTlUgLy8vLy8vLy8vXG4kbmF2YmFyLWJyYW5kLXdyYXBwZXItbWluaS13aWR0aDogNzBweDtcbiRtZW51LWJyZWFrLXBvaW50OiAxMDIwcHg7XG4kaG9yaXpvbnRhbC1uYXZiYXItaGVpZ2h0OiAxMjFweDtcbiRob3Jpem9udGFsLXRvcC1tZW51LWJnIDogdGhlbWUtY29sb3IoZGFyayk7XG4kaG9yaXpvbnRhbC1tZW51LXBhZGRpbmc6IDAgMXJlbTtcbiRob3Jpem9udGFsLW1lbnUtaGVpZ2h0OiAgNTdweDtcbiRob3Jpem9udGFsLW1lbnUtY29sb3I6ICMyNDI0MjU7XG4kaG9yaXpvbnRhbC10b3AtbWVudS1pdGVtLWNvbG9yOiAjYzdjN2M3O1xuJGhvcml6b250YWwtYm90dG9tLWJnOiAkd2hpdGU7XG4kaG9yaXpvbnRhbC1ib3R0b20tbWVudS1pdGVtLWNvbG9yOiAkaG9yaXpvbnRhbC1tZW51LWNvbG9yO1xuJGhvcml6b250YWwtYm90dG9tLW1lbnUtaXRlbS1pY29uLWNvbG9yOiAkaG9yaXpvbnRhbC1tZW51LWNvbG9yO1xuJGhvcml6b250YWwtYm90dG9tLW1lbnUtaXRlbS1hY3RpdmUtY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuJGhvcml6b250YWwtbWVudS1zdWJtZW51LWNvbG9yOiAjMjAyMzM5O1xuJGhvcml6b250YWwtYm90dG9tLW1lbnUtaXRlbS1mb250LXNpemU6IC44NzVyZW07XG4kaG9yaXpvbnRhbC1ib3R0b20tbWVudS1pdGVtLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcbiRob3Jpem9udGFsLWJvdHRvbS1tZW51LWl0ZW0taG92ZXItY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuJGhvcml6b250YWwtbWVudS1pdGVtLXBhZGRpbmc6IC43NXJlbSAwO1xuJGhvcml6b250YWwtbWVudS1pY29uLWZvbnQtc2l6ZTogLjkzNzVyZW07XG4kaG9yaXpvbnRhbC1tZW51LXN1Ym1lbnUtaXRlbS1wYWRkaW5nOiAuODVyZW0gMDtcbi8vLy8vLy8vLyBIT1JJWk9OVEFMIE1FTlUgLy8vLy8vLy8vXG5cbi8vLy8vLy8vLyBOQVZCQVIgLy8vLy8vLy9cblxuJG5hdmJhci1oZWlnaHQ6IDYwcHg7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAjMjAyMzM5O1xuJG5hdmJhci1mb250LXNpemU6IDE0cHg7XG4kbmF2YmFyLWljb24tZm9udC1zaXplOiAxcmVtO1xuXG4vLy8vLy8vLy8gTkFWQkFSIC8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8gQlVUVE9OUyAvLy8vLy8vL1xuXG4kYnV0dG9uLWZpeGVkLXdpZHRoOiAgICAgICAgMTIwcHg7XG4kYnRuLXBhZGRpbmcteTogICAgICAgMC41NnJlbTtcbiRidG4tcGFkZGluZy14OiAgICAgICAxLjM3NXJlbTtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAxO1xuXG4kYnRuLXBhZGRpbmcteS14czogICAgLjVyZW07XG4kYnRuLXBhZGRpbmcteC14czogICAgLjc1cmVtO1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgMC41MHJlbTtcbiRidG4tcGFkZGluZy14LXNtOiAgICAwLjgxcmVtO1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgMC45NHJlbTtcbiRidG4tcGFkZGluZy14LWxnOiAgICAxLjk0cmVtO1xuXG4kYnRuLWZvbnQtc2l6ZTogICAgICAgLjg3NXJlbTtcbiRidG4tZm9udC1zaXplLXhzOiAgICAuNjI1cmVtO1xuJGJ0bi1mb250LXNpemUtc206ICAgIC44NzVyZW07XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgLjg3NXJlbTtcblxuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgIC4xODc1cmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXhzOiAgICAgIC4xODc1cmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgIC4xODc1cmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgIC4xODc1cmVtO1xuXG4kc29jaWFsLWJ0bi1wYWRkaW5nOiAgICAgICAgMTNweDtcbiRzb2NpYWwtYnRuLWljb24tc2l6ZTogICAgICAxcmVtO1xuXG4vLy8vLy8vLy8gQlVUVE9OUyAvLy8vLy8vL1xuXG5cblxuLy8vLy8vLy8vICBGT1JNUyAvLy8vLy8vLy9cblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICBjb2xvcih3aGl0ZSk7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgIDJweDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogI2M5YzhjODtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgLjc1cmVtO1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAuNTZyZW07XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgIDEuMzc1cmVtO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAxO1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgIC41cmVtO1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAuODFyZW07XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgIDE7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgLjk0cmVtO1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAxLjk0cmVtO1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAxO1xuXG4vLy8vLy8vLy8gRk9STVMgLy8vLy8vLy8vXG5cbi8vLy8vLy8vICBEUk9QRE9XTlMgLy8vLy8vL1xuXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgJGJvcmRlci1jb2xvcjtcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICRib2R5LWNvbG9yO1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogJGJvZHktY29sb3I7XG4vLy8vLy8vLyAgRFJPUERPV05TIC8vLy8vLy9cblxuLy8vLy8vLy8gVEFCTEVTIC8vLy8vLy8vXG5cbiR0YWJsZS1hY2NlbnQtYmc6ICRjb250ZW50LWJnO1xuJHRhYmxlLWhvdmVyLWJnOiAgJGNvbnRlbnQtYmc7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4kdGFibGUtaW52ZXJzZS1iZzogIzJhMmIzMjtcbiR0YWJsZS1pbnZlcnNlLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbi8vLy8vLy8vIFRBQkxFUyAvLy8vLy8vL1xuXG5cblxuLy8vLy8vLy8vLyBNRUFTVVJFTUVOVCBBTkQgUFJPUEVSVFkgVkFSSUFCTEVTIC8vLy8vLy8vLy9cblxuJGJveGVkLWNvbnRhaW5lci13aWR0aDogMTIwMHB4O1xuJGJvcmRlci1wcm9wZXJ0eTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4kY2FyZC1zcGFjaW5nLXk6IC43NXJlbTtcbiRjYXJkLXBhZGRpbmcteTogMzBweDtcbiRjYXJkLXBhZGRpbmcteDogMzBweDtcbiRjYXJkLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDFweDtcbiRncmlkLWd1dHRlci13aWR0aDogMTJweDtcbiRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG4kYWN0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuJGZvb3Rlci1oZWlnaHQ6IDYwcHg7XG4vLy8vLy8vLy8vIE9USEVSIFZBUklBQkxFUyAvLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vIEJSRUFEIENSVU1CUyBWQVJJQUJMRVMgLy8vLy8vLy8vL1xuXG4vLyBkZWZhdWx0IHN0eWxlc1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMC41NnJlbTtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDEuMTNyZW07XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbTtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW07XG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICAkZGVmYXVsdC1mb250LXNpemU7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcbiRicmVhZGNydW1iLWJvcmRlci1jb2xvcjogICAgICAgICAgICRib3JkZXItY29sb3I7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDA7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS03MDA7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBcIj5cIjtcblxuLy8gY3VzdG9tIHN0eWxlc1xuJGJyZWFkY3J1bWItY3VzdG9tLXBhZGRpbmcteTogICAgICAgMDtcbiRicmVhZGNydW1iLWN1c3RvbS1wYWRkaW5nLXg6ICAgICAgIDA7XG4kYnJlYWRjcnVtYi1jdXN0b20taXRlbS1wYWRkaW5nLXk6ICAwLjU2cmVtO1xuJGJyZWFkY3J1bWItY3VzdG9tLWl0ZW0tcGFkZGluZy14OiAgMTBweDtcbiRicmVhZGNydW1iLWN1c3RvbS1pdGVtLWNvbG9yOiAgICAgICRibGFjaztcbiRicmVhZGNydW1iLWl0ZW0tYmc6ICAgICAgICAgICAgICAgICNkYmUzZTY7XG5cbi8vLy8vLy8vLy8gQlJFQUQgQ1JVTUJTIFZBUklBQkxFUyAvLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vIE1PREFMUyBWQVJJQUJMRVMgLy8vLy8vLy8vL1xuXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAyLjVyZW07XG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAxMHB4O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMzBweDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJGNvbnRlbnQtYmc7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIDNweCA5cHggcmdiYSgkYmxhY2ssLjUpO1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCA1cHggMTVweCByZ2JhKCRibGFjaywuNSk7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjaztcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yO1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGJvcmRlci1jb2xvcjtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3I7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGg7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aDtcblxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAyNnB4O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAyNXB4O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDI2cHg7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIDM1cHg7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy14OiAgICAgICAgICAgICAgMzFweDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy15OiAgICAgICAgICAgICAgMTVweDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgOTAlO1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHg7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNHMgZWFzZTtcblxuLy8vLy8vLy8vLyBNT0RBTFMgVkFSSUFCTEVTIC8vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy8vIFRPT0xUSVAgVkFSSUFCTEVTIC8vLy8vLy8vLy9cblxuLy9kZWZhdWx0IHN0eWxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgLjc1cmVtO1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgLjRyZW07XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAuNzVyZW07XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuJHRvb2x0aXAtYmc6ICB0aGVtZS1jb2xvcihkYXJrKTtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAkdG9vbHRpcC1iZztcblxuLy8vLy8vLy8vLyBUT09MVElQIFZBUklBQkxFUyAvLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vIFBPUE9WRVIgVkFSSUFCTEVTIC8vLy8vLy8vLy9cblxuLy9kZWZhdWx0IHN0eWxlc1xuJHBvcG92ZXItYmc6ICAgICAgICNmMWY2ZmY7XG4kcG9wb3Zlci10ZXh0LWNvbG9yOiAkYmxhY2s7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICRib3JkZXItY29sb3I7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICRwb3BvdmVyLWJnO1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAkcG9wb3Zlci1iZztcblxuLy8vLy8vLy8vLyBQT1BPVkVSIFZBUklBQkxFUyAvLy8vLy8vLy8vXG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lciAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtcGFkZGluZy14ICogNCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtcGFkZGluZy14ICogMiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi53aWR0aCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZShkaXZpZGUoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXksICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8qIEFuaW1hdGlvbiBNaXhpbnMgKi9cbkBrZXlmcmFtZXMgZHJvcGRvd25BbmltYXRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgfVxufVxuXG4uZHJvcGRvd25BbmltYXRpb24ge1xuICBhbmltYXRpb24tbmFtZTogZHJvcGRvd25BbmltYXRpb247XG4gIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAvL0BpbmNsdWRlIGFuaW1hdGlvbi1kdXJhdGlvbigkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICAvL0BpbmNsdWRlIGFuaW1hdGlvbi1maWxsLW1vZGUoYm90aCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIC1tcy1hbmltYXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIC1vLWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5AbWl4aW4gdHJhbnNpdGlvbigkc2V0dGluZ3MpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkc2V0dGluZ3M7XG4gIC1tb3otdHJhbnNpdGlvbjogJHNldHRpbmdzO1xuICAtbXMtdHJhbnNpdGlvbjogJHNldHRpbmdzO1xuICAtby10cmFuc2l0aW9uOiAkc2V0dGluZ3M7XG4gIHRyYW5zaXRpb246ICRzZXR0aW5ncztcbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4uaW5maW5pdGUtc3BpbiB7XG4gIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbiAgfVxuICBhbmltYXRpb24tbmFtZTogc3BpbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufSIsIi8qIE5hdmJhciAqL1xuQG1peGluIG1lbnUtc3R5bGUge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNjFweDtcblx0XHR6LWluZGV4OiA5OTk7XG5cdFx0YmFja2dyb3VuZDogJGhvcml6b250YWwtYm90dG9tLWJnO1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJveC1zaGFkb3c6IDFweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRcdC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0bGkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1x0XG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0d2lkdGg6IDZweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHNlY29uZGFyeSk7XG5cdFx0XHRcdFx0dG9wOiAxMnB4O1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdH1cdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDowO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cbn1cblxuQG1peGluIHNob3ctc3VibWVudSB7XG5cdC5zdWJtZW51IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdD4gLm5hdi1saW5rIHtcblx0XHRiYWNrZ3JvdW5kOiAkaG9yaXpvbnRhbC1ib3R0b20tbWVudS1pdGVtLWhvdmVyLWJnO1xuXHRcdGksXG5cdFx0Lm1lbnUtdGl0bGUge1xuXHRcdFx0Y29sb3I6ICRob3Jpem9udGFsLWJvdHRvbS1tZW51LWl0ZW0taG92ZXItY29sb3I7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAxcyBlYXNlO1xuXHRcdH1cblx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC0xODBkZWcpKTtcblx0XHR9XG5cdH1cbn0iLCIvKiBNaXNjZWxsYW5lb3VzIE1peGlucyAqL1xuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnRcbiAgfVxuXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnRcbiAgfVxuXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnRcbiAgfVxufVxuLy8gZ2VuZXJpYyB0cmFuc2Zvcm1cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuLy8gc2NhbGVcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xufVxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlICgkeCwgJHkpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cbi8vIHNrZXdcbkBtaXhpbiBza2V3ICgkeCwgJHkpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XG59XG4vL3RyYW5zZm9ybSBvcmlnaW5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luICgkb3JpZ2luKSB7XG4gIG1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuLy9FbGxpcHNpc1xuXG4lZWxsaXBzb3Ige1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQG1peGluIGVsbGlwc29yIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvKiBSZXNldCBTdHlsZXMgKi9cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmZvcm0tY29udHJvbCxcbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5hLFxuZGl2LFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbnAsXG5zcGFuIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblt0eXBlPWJ1dHRvbl06Zm9jdXMsXG5hOmFjdGl2ZSxcbmE6Zm9jdXMsXG5hOnZpc2l0ZWQsXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dFt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dFt0eXBlPWZpbGVdID4gaW5wdXRbdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsXG5zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzLFxuYnV0dG9uOmZvY3VzLFxuaW5wdXQsXG5pbnB1dDpmb2N1cyxcbnNlbGVjdDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3V0bGluZS13aWR0aDogMDtcbiAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmUtc3R5bGU6IG5vbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5idG4sXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5idG46YWN0aXZlLFxuLmJ0bjpmb2N1cyxcbi5idG46aG92ZXIsXG4uYnRuOnZpc2l0ZWQsXG5hLFxuYTphY3RpdmUsXG5hOmNoZWNrZWQsXG5hOmZvY3VzLFxuYTpob3ZlcixcbmE6dmlzaXRlZCxcbmJvZHksXG5idXR0b24sXG5idXR0b246YWN0aXZlLFxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOnZpc2l0ZWQsXG5kaXYsXG5pbnB1dCxcbmlucHV0OmFjdGl2ZSxcbmlucHV0OmZvY3VzLFxuaW5wdXQ6aG92ZXIsXG5pbnB1dDp2aXNpdGVkLFxuc2VsZWN0LFxuc2VsZWN0OmFjdGl2ZSxcbnNlbGVjdDpmb2N1cyxcbnNlbGVjdDp2aXNpdGVkLFxudGV4dGFyZWEsXG50ZXh0YXJlYTphY3RpdmUsXG50ZXh0YXJlYTpmb2N1cyxcbnRleHRhcmVhOmhvdmVyLFxudGV4dGFyZWE6dmlzaXRlZCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLmFjdGl2ZS5mb2N1cyxcbi5idG4uYWN0aXZlOmZvY3VzLFxuLmJ0bi5mb2N1cyxcbi5idG46YWN0aXZlLmZvY3VzLFxuLmJ0bjphY3RpdmU6Zm9jdXMsXG4uYnRuOmZvY3VzLFxuYnV0dG9uLFxuYnV0dG9uOmFjdGl2ZSxcbmJ1dHRvbjpjaGVja2VkLFxuYnV0dG9uOmZvY3VzLFxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOnZpc2l0ZWQge1xuICBvdXRsaW5lOiAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbn1cblxuLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTphY3RpdmUsXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyxcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6dmlzaXRlZCB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmE6Zm9jdXMsXG5pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIvKkZvbnRzKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvb3BlblNhbnMvT3BlblNhbnMtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1TZW1pQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvb3BlblNhbnMvT3BlblNhbnMtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5TYW5zL09wZW5TYW5zLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvb3BlblNhbnMvT3BlblNhbnMtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9vcGVuU2Fucy9PcGVuU2Fucy1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbiIsIi8vIEZ1bmN0aW9uc1xuQGZ1bmN0aW9uIHNvY2lhbC1jb2xvcigka2V5OiBcInR3aXR0ZXJcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHNvY2lhbC1jb2xvcnMsICRrZXkpO1xufVxuLy8gU29jaWFsIENvbG9yXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkc29jaWFsLWNvbG9ycyB7XG4gIC50ZXh0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgdGV4dC1jb2xvcihzb2NpYWwtY29sb3IoJGNvbG9yKSk7XG4gIH1cbn1cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICRzb2NpYWwtY29sb3JzIHtcbiAgLmJnLSN7JGNvbG9yfSB7XG4gICAgYmFja2dyb3VuZDogc29jaWFsLWNvbG9yKCRjb2xvcik7XG4gIH1cbn0iLCJAbWl4aW4gdGV4dC1jb2xvcigkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbn0iLCIvKiBUeXBvZ3JhcGh5ICovXG46cm9vdCxcbmJvZHkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcbn1cblxucCB7XG4gIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uaDEsXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaDIsXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5oMyxcbmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5oNCxcbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaDUsXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5oNixcbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4uZGlzcGxheS01IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xufVxuXG5hZGRyZXNzIHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLy9ibG9ja3FvdXRlIGNvbG9yIHZhcmlhdGlvbnNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmxvY2txdW90ZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUoJHZhbHVlKTtcbiAgfVxufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICR0aXRsZS1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgLnJ0bCAmIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIEBleHRlbmQgLnRleHQtZ3JheTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG4uY2FyZC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAucnRsICYge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5mb250LXdlaWdodC1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9udC13ZWlnaHQtbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZvbnQtd2VpZ2h0LXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IC43NXJlbTtcbn1cblxuLmljb24tbGcge1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuLmljb24tbWQge1xuICBmb250LXNpemU6IDEuMjc1cmVtO1xufVxuXG4uaWNvbi1zbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn0iLCIvLyBCbG9ja1F1b3RlIE1peGlucyAvL1xuQG1peGluIGJsb2NrcXVvdGUoJGNvbG9yKSB7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufSIsIi8qIE1pc2NlbGxhbm9lb3VzICovXG5ib2R5LFxuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZy1yaWdodDogMDsgLy8gcmVzZXRzIHBhZGRpbmcgcmlnaHQgYWRkZWQgYnkgQm9vdHN0cmFwIG1vZGFsXG59XG5cbio6LW1vei1mdWxsLXNjcmVlbixcbio6LXdlYmtpdC1mdWxsLXNjcmVlbixcbio6ZnVsbHNjcmVlbiAqOi1tcy1mdWxsc2NyZWVuIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5wYWdlLWJvZHktd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICRjb250ZW50LWJnO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgJi5mdWxsLXBhZ2Utd3JhcHBlciB7XG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi5tYWluLXBhbmVsIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuLmNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDEuNXJlbSAwO1xuICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRob3Jpem9udGFsLW5hdmJhci1oZWlnaHR9IC0gI3skZm9vdGVyLWhlaWdodH0pO1xuICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgLy9AaW5jbHVkZSBmbGV4LWdyb3coMSk7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jb250YWluZXItc2Nyb2xsZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2Nyb2xsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmhvcml6b250YWxseSB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICYudmVydGljYWxseSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbnByZSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGdyYXktbGlnaHRlcik7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZhZGUge1xuICAmLnNob3csJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXIge1xuICBtYXJnaW46IDAgMCAxLjEyNXJlbSAwO1xuICAucGFnZS10aXRsZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5wYWdlLXRpdGxlLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6IDEwcHggOHB4IDE2cHggLTZweCByZ2JhKDM2LCAxMDEsIDI0NywgMC42OSk7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDEwcHggOHB4IDE2cHggLTZweCByZ2JhKDM2LCAxMDEsIDI0NywgMC42OSk7XG4gICAgICAtbW96LWJveC1zaGFkb3c6IDEwcHggOHB4IDE2cHggLTZweCByZ2JhKDM2LCAxMDEsIDI0NywgMC42OSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idG4taGVhZGVyLWRyb3Bkb3duIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCR0ZXh0LW11dGVkLCAwLjIpO1xuICAgIGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcbiAgfVxufVxuIiwiLm5hdmJhciB7XG5cdCYuaG9yaXpvbnRhbC1sYXlvdXQge1xuXHRcdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRcdC5uYXYtdG9wIHtcblx0XHRcdGJhY2tncm91bmQ6ICRob3Jpem9udGFsLXRvcC1tZW51LWJnO1xuXHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcblx0XHRcdC5uYXZiYXItYnJhbmQtd3JhcHBlciB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMXJlbSAwIDA7XG5cdFx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQubmF2YmFyLWJyYW5kIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZzogMC4yNXJlbSAwO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogbGlnaHRlbihjb2xvcihncmF5LWRhcmspLCAxMCUpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDM0cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcblx0XHRcdFx0LmJyYW5kLWxvZ28tbWluaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0XHRcdHdpZHRoOiAkbmF2YmFyLWJyYW5kLXdyYXBwZXItbWluaS13aWR0aDtcblx0XG5cdFx0XHRcdFx0LmJyYW5kLWxvZ28ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdC5icmFuZC1sb2dvLW1pbmkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFxuXHRcdFx0Lm5hdmJhci1tZW51LXdyYXBwZXIge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAxcmVtO1xuXHRcblx0XHRcdFx0Lm5hdmJhci1uYXYge1xuXHRcdFx0XHRcdEBleHRlbmQgLmZsZXgtcm93O1xuXHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XG5cdFx0XHRcdFx0Lm5hdi1pdGVtIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHRcblx0XG5cdFx0XHRcdFx0XHQubmF2LWxpbmsge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGhvcml6b250YWwtdG9wLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2YmFyLWZvbnQtc2l6ZTtcblx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRcdFx0Ji5jb3VudC1pbmRpY2F0b3Ige1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRcdFx0ICBjb2xvcjogJGhvcml6b250YWwtdG9wLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0XHQgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdC5jb3VudCB7XG5cdFx0XHRcdFx0XHRcdFx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0ICBsZWZ0OiA3cHg7XG5cdFx0XHRcdFx0XHRcdFx0ICB3aWR0aDogMTBweDtcblx0XHRcdFx0XHRcdFx0XHQgIGhlaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0XHQgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdCAgYm9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHQgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdCAgdG9wOiA0cHg7XG5cdFx0XHRcdFx0XHRcdFx0ICBmb250LXNpemU6IC41NjI1cmVtO1xuXHRcdFx0XHRcdFx0XHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHQgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHQgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHQgIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQgIH1cblxuXHRcdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6ICRuYXZiYXItaWNvbi1mb250LXNpemU7XG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuZHJvcGRvd24ge1xuXHRcdFx0XHRcdFx0XHQubmF2YmFyLWRyb3Bkb3duIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOXJlbTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodH0gLSA2cHgpO1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAyMHB4O1xuXHRcdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdEBleHRlbmQgLmRyb3Bkb3duQW5pbWF0aW9uO1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDFweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRcdFx0XHRcdFx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRcdFx0XHRcdFx0LW1vei1ib3gtc2hhZG93OiAxcHggMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0LnJ0bCAmIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0Ji5kcm9wZG93bi1sZWZ0IHtcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdC5iYWRnZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMi41cmVtO1xuXHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdC5ydGwgJiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHQuZHJvcGRvd24taXRlbSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAyNXB4O1xuXHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0LnByZXZpZXctc3ViamVjdCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBlbGxpcHNvcjtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHQucHJldmlldy1pY29uIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vQGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvL0BpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHQuc21hbGwtdGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdC5kcm9wZG93bi1kaXZpZGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRcdFx0XHQubmF2YmFyLWRyb3Bkb3duIHtcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcblx0XHRcdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5uYXZiYXItbmF2LXJpZ2h0IHtcblx0XHRcdFx0XHRcdC5uYXYtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdCYubmF2LXByb2ZpbGUge1xuXHRcdFx0XHRcdFx0XHRcdC5uYXYtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDI2cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAuMjVyZW07XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdC5uYXYtcHJvZmlsZS1uYW1lIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGhvcml6b250YWwtdG9wLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAuMjVyZW07XG5cdFx0XHRcdFx0XHRcdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ji5uYXYtbGFuZ3VhZ2Uge1xuXHRcdFx0XHRcdFx0XHRcdC5kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgZGFya2VuKCRob3Jpem9udGFsLXRvcC1tZW51LWl0ZW0tY29sb3IsIDMwJSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGhvcml6b250YWwtdG9wLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IC4zNXJlbSAuODFyZW07XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5zZWFyY2gtZmllbGQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlcjtcblx0XHRcdFx0XHQuaW5wdXQtZ3JvdXAge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRcdFx0XHRcdC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdC5pbnB1dC1ncm91cC10ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRob3Jpem9udGFsLXRvcC1tZW51LWl0ZW0tY29sb3I7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcblx0XHRcdFx0XHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IC44NzVyZW07XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGhvcml6b250YWwtdG9wLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC43NXJlbTtcblx0XHRcdFx0XHQucnRsICYge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcblx0XHRcdFx0Lm5hdmJhci10b2dnbGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdGNvbG9yOiAkaG9yaXpvbnRhbC10b3AtbWVudS1pdGVtLWNvbG9yO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skbmF2YmFyLWJyYW5kLXdyYXBwZXItbWluaS13aWR0aH0pO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cdFx0XG5cdFx0fVxuXHRcdC5uYXYtYm90dG9tIHtcblx0XHRcdGJhY2tncm91bmQ6ICRob3Jpem9udGFsLWJvdHRvbS1iZztcdFx0XHRcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHQvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigzcyk7XG5cdFx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkocG9zaXRpb24sbGVmdCxyaWdodCx0b3Asei1pbmRleCk7XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0LXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogM3M7XG5cdFx0XHQtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDNzO1xuXHRcdFx0LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogM3M7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzcztcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogcG9zaXRpb24sIGxlZnQsIHJpZ2h0LCB0b3AsIHotaW5kZXg7XG5cdFx0XHQtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHBvc2l0aW9uLCBsZWZ0LCByaWdodCwgdG9wLCB6LWluZGV4O1xuXHRcdFx0LW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogcG9zaXRpb24sIGxlZnQsIHJpZ2h0LCB0b3AsIHotaW5kZXg7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBwb3NpdGlvbiwgbGVmdCwgcmlnaHQsIHRvcCwgei1pbmRleDtcblxuXHRcdFx0Ym94LXNoYWRvdzogMXB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDFweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRcdFx0LW1vei1ib3gtc2hhZG93OiAxcHggMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHQmLmhlYWRlci10b2dnbGVkIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbmF2YmFyLWhlaWdodH0pO1xuXHRcdFx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5wYWdlLW5hdmlnYXRpb24ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR6LWluZGV4OiA5OTtcblx0XHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHRcdC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHRcdFx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC4ycyk7XG5cdFx0XHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShiYWNrZ3JvdW5kLCBib3gtc2hhZG93KTtcblx0XHRcdFx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuXHRcdFx0XHQtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cdFx0XHRcdC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cdFx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgYm94LXNoYWRvdztcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBib3gtc2hhZG93O1xuXHRcdFx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBib3gtc2hhZG93O1xuXHRcdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBib3gtc2hhZG93O1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IC5uYXYtaXRlbSB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdFx0XHRcdD4ubmF2LWxpbmsge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdFx0XHRcdD4ubmF2LWxpbmsge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQ+IC5uYXYtbGluayB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGhvcml6b250YWwtYm90dG9tLW1lbnUtaXRlbS1jb2xvcjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDIycHggMTBweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdC5tZW51LXRpdGxlIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAkaG9yaXpvbnRhbC1ib3R0b20tbWVudS1pdGVtLWZvbnQtc2l6ZTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5saW5rLWljb24ge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRob3Jpem9udGFsLWJvdHRvbS1tZW51LWl0ZW0taWNvbi1jb2xvcjtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0XHRcdFx0XHQucnRsICYge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHQvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcblx0XHRcdFx0XHRcdFx0Ly9AaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcblx0XHRcdFx0XHRcdFx0Ly9AaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGNlbnRlcik7XG5cdFx0XHRcdFx0XHRcdC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuXHRcdFx0XHRcdFx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdFx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRcdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRcdFx0XHRcdFx0bW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHQtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcblx0XHRcdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG5cdFx0XHRcdFx0XHRcdC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ3NpbXBsZS1saW5lLWljb25zJztcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTYwNFwiO1xuXHRcdFx0XHRcdFx0XHRcdHNwZWFrOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjYyNXJlbTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdFx0XHRcdFx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHNob3ctc3VibWVudSgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0XHRcdFx0Ji5zaG93LXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBzaG93LXN1Ym1lbnUoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHQ+IC5uYXYtbGluayB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRob3Jpem9udGFsLWJvdHRvbS1tZW51LWl0ZW0tYWN0aXZlLWNvbG9yO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5tZW51LXRpdGxlLFxuXHRcdFx0XHRcdFx0XHRpLFxuXHRcdFx0XHRcdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRob3Jpem9udGFsLWJvdHRvbS1tZW51LWl0ZW0tYWN0aXZlLWNvbG9yO1x0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuc3VibWVudSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAuZHJvcGRvd25BbmltYXRpb247XG5cblx0XHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkaG9yaXpvbnRhbC1ib3R0b20tbWVudS1pdGVtLWNvbG9yO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogNHB4IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBlbGxpcHNvcjtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuXHRcdFx0XHRcdFx0XHRcdFx0Ly9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDAuMnMpO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ly9AaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGJhY2tncm91bmQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuXHRcdFx0XHRcdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuXHRcdFx0XHRcdFx0XHRcdFx0LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcblx0XHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cdFx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG5cdFx0XHRcdFx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG5cdFx0XHRcdFx0XHRcdFx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuXHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHgpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uIChjb2xvciAuMXMgbGluZWFyKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOm5vdCgubWVnYS1tZW51KSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQuc3VibWVudSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtc3R5bGU7XHRcblx0XHRcdFx0XHRcdFx0bGVmdDogMDtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDI1cHg7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDIzcHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5tZWdhLW1lbnUge1xuXHRcdFx0XHRcdFx0LnN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXN0eWxlO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDI1cHg7XG5cblx0XHRcdFx0XHRcdFx0LmNhdGVnb3J5LWhlYWRpbmcge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjg3NXJlbTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtIDA7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC50ZXh0LXByaW1hcnk7XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5jb2wtZ3JvdXAtd3JhcHBlciB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAxcmVtO1x0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDMycHg7XG5cblx0XHRcdFx0XHRcdFx0XHQuY29sLWdyb3VwLXdyYXBwZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQuY29sLWdyb3VwIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC5jYXRlZ29yeS1oZWFkaW5nIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5maXhlZC1vbi1zY3JvbGwge1xuXHRcdFx0Lm5hdi1ib3R0b20ge1xuXHRcdFx0XHRAZXh0ZW5kIC5maXhlZC10b3A7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHotaW5kZXg6IDEwMzA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHQubmF2LXRvcCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIEZvb3RlciAqL1xuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRmb290ZXItYmc7XG4gIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbiAkYWN0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24gJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24gJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCByZ2JhKCRibGFjaywgLjA0KTtcbiAgZm9udC1zaXplOiBjYWxjKCN7JGRlZmF1bHQtZm9udC1zaXplfSAtIDAuMDVyZW0pO1xuICBmb250LWZhbWlseTogJHR5cGUtMTtcblxuICBhIHtcbiAgICBjb2xvcjogdGhlbWUtY29sb3Ioc3VjY2Vzcyk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59IiwiLyogVXRpbGl0aWVzICovXG4uZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG59XG5cbi5ncmlkLW1hcmdpbi1zbS0wIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4tbWQtMCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLWxnLTAge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14bC0wIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmltZy1sZyB7XG4gIHdpZHRoOiA5MnB4O1xuICBoZWlnaHQ6IDkycHg7XG59XG5cbi5pbWctbWQge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4uaW1nLXNtIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLmltZy14cyB7XG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDM3cHg7XG59XG5cbi5pbWctc3Mge1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xufVxuXG4uaW1nLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xufVxuXG4uaW1hZ2UtbGF5ZXJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAyNHB4O1xuXHQuaW1hZ2UtbGF5ZXItaXRlbSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG5cdH1cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgOm50aC1jaGlsZCgjeyAkaSB9KSB7XG4gICAgICB6LWluZGV4OiAjeyAxMCAtICgkaSAtIDEpIH07XG4gICAgICBsZWZ0OiAjeyAoJGkgLSAxKSAqIDE1IH1weDtcbiAgICB9XG5cdH1cblx0LnByb2ZpbGUtaW1hZ2UtdGV4dCB7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdH1cbn1cblxuLnByb2ZpbGUtaW1hZ2UtdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnN0cmV0Y2gtY2FyZCB7XG4gIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgLy9AaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgLy9AaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3RyZXRjaCk7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cbiAgPiAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ib3JkZXItcmlnaHQtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4uYm9yZGVyLXJpZ2h0LW1kIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLmJvcmRlci1yaWdodC1sZyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5ib3JkZXItbGVmdC1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLmJvcmRlci1zdHJvbmcge1xuICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLDgwJSk7XG59XG5cbi5jb3VudC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDhweDtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAmLnRvcC1yaWdodCB7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmJvdHRvbS1yaWdodCB7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmJvdHRvbS1sZWZ0IHtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi50b3AtbGVmdCB7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYm9yZGVyLWxlZnQtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5ib3JkZXItbGVmdC1sZyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLnRleHQtZ3JheSB7XG4gIGNvbG9yOiAjNjM2MzYzO1xufVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5mbGV4LWdyb3cge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5lbGxpcHNpcyB7XG4gIG1heC13aWR0aDogOTUlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5vLXdyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmctaW52ZXJzZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJnLWludmVyc2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cbi5kaXNjIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn0iLCIvLyBCYWNrZ3JvdW5kIE1peGlucyAvL1xuQG1peGluIGJnKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkY29sb3I7XG59XG5AbWl4aW4gYmctZ3JhZGllbnQoJGNvbG9yMSwkY29sb3IyKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjE7XG4gIC8qIEZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGdyYWRpZW50cyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgJGNvbG9yMSwgJGNvbG9yMik7XG4gIC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoOTBkZWcsICRjb2xvcjEsICRjb2xvcjIpO1xuICAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkY29sb3IxLCAkY29sb3IyKTtcbiAgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGNvbG9yMSwgJGNvbG9yMik7XG4gIC8qIFN0YW5kYXJkIHN5bnRheCAqL1xufVxuQG1peGluIGJnLWludmVyc2UtdmFyaWFudCgkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLDAuNCk7XG59IiwiLyogRGVtbyBTdHlsZXMgKi9cbi8vIEFkZCBzcGFjaW5nIHRvIEJvb3N0cmFwIGNvbXBvbmVudHMgZm9yIGRlbW8gcHVycG9zZVxuLnRlbXBsYXRlLWRlbW8ge1xuICA+IC5idG4ge1xuICAgIEBleHRlbmQgLm10LTI7XG4gICAgQGV4dGVuZCAubXItMjtcbiAgfVxuXG4gID4gLmJ0bi10b29sYmFyIHtcbiAgICBAZXh0ZW5kIC5tdC0yO1xuICAgIEBleHRlbmQgLm1yLTI7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAge1xuICAgIEBleHRlbmQgLm10LTI7XG4gICAgQGV4dGVuZCAubXItMjtcblxuICAgIC5idG4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG5cbiAgLmNpcmNsZS1wcm9ncmVzcyB7XG4gICAgQGV4dGVuZCAubXQtMjtcbiAgfVxuXG4gID4gaDIsXG4gICA+IGgzLFxuICAgPiBoNCxcbiAgID4gaDUsXG4gICA+IGg2LFxuICA+IGgxIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICB9XG5cbiAgLnVsLXNsaWRlciB7XG4gICAgJi5ub1VpLWhvcml6b250YWwge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAmLm5vVWktdmVydGljYWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgLm1yLTI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgbmF2IHtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmJyZWFkY3J1bWIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lZGl0YWJsZS1mb3JtIHtcbiAgICA+IC5mb3JtLWdyb3VwIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAuY2lyY2xlLXByb2dyZXNzIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG5cbiAgLmNpcmNsZS1wcm9ncmVzcy1ibG9jayB7XG4gICAgQGV4dGVuZCAubWItMztcbiAgICBAZXh0ZW5kIC5weC0yO1xuICB9XG59XG5cbi5kZW1vLW1vZGFsIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLm1vZGFsLWRpYWxvZyB7XG5cbiAgICAmLm1vZGFsLWxnIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmxvYWRlci1kZW1vLWJveCB7XG4gIEBleHRlbmQgLmJvcmRlcjtcbiAgQGV4dGVuZCAuYm9yZGVyLXNlY29uZGFyeTtcbiAgQGV4dGVuZCAucm91bmRlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjAwcHg7XG4gIEBleHRlbmQgLmQtZmxleDtcbiAgQGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xufVxuXG4uZG9jdW1lbnRhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRmb290ZXItaGVpZ2h0fSk7XG4gIH1cbn1cbi5kb2MtdGFibGUtY29udGVudHMsXG4uZG9jLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi5kb2MtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAkY29udGVudC1iZztcbn1cblxuLmRvYy1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDE1N3B4O1xufVxuXG4uZG9jLXRhYmxlLWNvbnRlbnRzIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE1N3B4KTtcbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kb2MtY3JlZGl0cyB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZW1vLXZlY3Rvci1tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MDBweDtcbn0iLCIuZWFybmluZy1yZXBvcnQtbGVnZW5kIHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaSB7XG4gICAgICBAZXh0ZW5kIC5kLWZsZXg7XG4gICAgICBAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgLmxlZ2VuZC1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgICAgLmxlZ2VuZC1wZXJjZW50YWdlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBBY2NvcmRpb25zICovXG5cbi5hY2NvcmRpb24ge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMTVweCAxcHggcmdiYSgyMzAsIDIzNCwgMjM2LCAwLjM1KTsgICAgXG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgKiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgICAgICAgIFxuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuNXMgZWFzZSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6XCJzaW1wbGUtbGluZS1pY29uc1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA3XCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA0XCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMCAycmVtIDJyZW0gMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5hY2NvcmRpb24tYm9yZGVyZWQge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDE1cHggMXB4IHJnYmEoMjMwLCAyMzQsIDIzNiwgMC4zNSk7ICAgIFxuICAgIC5jYXJkIHtcbiAgICAgIG1hcmdpbjogMCAycmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC5jYXJkLWhlYWRlcixcbiAgICAgIC5jYXJkLWJvZHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdLFxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZGFuZ2VyKTsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYWNjb3JkaW9uLWZpbGxlZCB7XG4gICAgLmNhcmQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7ICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogMnJlbSA0LjVyZW0gMnJlbSAycmVtO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBsaW5lYXIpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IoaW5mbyk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbSAycmVtIDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGluZm8pO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmFjY29yZGlvbi1zb2xpZC1oZWFkZXIge1xuICAgIC5jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDJyZW0gNC41cmVtIDJyZW0gMnJlbTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJkLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmFjY29yZGlvbi1zb2xpZC1jb250ZW50IHtcbiAgICAuY2FyZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtIDQuNXJlbSAycmVtIDJyZW07XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXJkLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihzdWNjZXNzKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5hY2NvcmRpb24tbXVsdGktY29sb3JlZCB7XG4gICAgLmNhcmQge1xuICAgICAgLmNhcmQtaGVhZGVyLFxuICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3Ioc3VjY2Vzcyk7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHdhcm5pbmcpO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihpbmZvKTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgIGEge1xuICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBCYWRnZXMgKi9cbi5iYWRnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAuMjVyZW0gLjU2MjVyZW07XG4gIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gICYuYmFkZ2UtcGlsbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gIH1cblxuICAmLmJhZGdlLWZ3IHtcbiAgICBtaW4td2lkdGg6IDcwcHg7XG4gIH1cblxuICAmLmJhZGdlLWxnIHtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuICB9XG59XG4vKkJhZGdlIHZhcmlhdGlvbnMqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhdGlvbnMoJHZhbHVlKTtcbiAgfVxufVxuLypCYWRnZSBpbnZlcnNlIHZhcmlhdGlvbnMqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS1pbnZlcnNlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtaW52ZXJzZS12YXJpYXRpb25zKCR2YWx1ZSk7XG4gIH1cbn1cbi8qQmFkZ2Ugb3V0bGluZWQgdmFyaWF0aW9ucyovXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS1vdXRsaW5lLXZhcmlhdGlvbnMoJHZhbHVlKTtcbiAgfVxufSIsIi8vIEJhZGdlIHZhcmlhdGlvbnNcbkBtaXhpbiBiYWRnZS12YXJpYXRpb25zKCRjb2xvcikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4vLyBCYWRnZSBvdXRsaW5lZCB2YXJpYXRpb25zXG5AbWl4aW4gYmFkZ2Utb3V0bGluZS12YXJpYXRpb25zKCRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG59XG5AbWl4aW4gYmFkZ2UtaW52ZXJzZS12YXJpYXRpb25zKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgMC4zKTtcbiAgY29sb3I6ICRjb2xvcjtcbn0iLCIvKiBCb290c3RyYXAgQWxlcnRzICovXG4uYWxlcnQge1xuICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgfVxufVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQocmdiYSh0aGVtZS1jb2xvcigkY29sb3IpLCAuMiksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgMSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgMykpO1xuICB9XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LWZpbGwtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yKCRjb2xvciksIHRoZW1lLWNvbG9yKCRjb2xvciksIGNvbG9yKHdoaXRlKSk7XG4gIH1cbn0iLCIvKiBCb290c3RyYXAgUHJvZ3Jlc3MgKi9cbi5wcm9ncmVzcyB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgaGVpZ2h0OiA4cHg7XG5cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICB9XG5cbiAgJi5wcm9ncmVzcy14cyB7XG4gICAgaGVpZ2h0OiAuMTg3NXJlbTtcbiAgfVxuXG4gICYucHJvZ3Jlc3Mtc20ge1xuICAgIGhlaWdodDogMC4zNzVyZW07XG4gIH1cblxuICAmLnByb2dyZXNzLW1kIHtcbiAgICBoZWlnaHQ6IDhweDtcbiAgfVxuXG4gICYucHJvZ3Jlc3MtbGcge1xuICAgIGhlaWdodDogMTVweDtcbiAgfVxuXG4gICYucHJvZ3Jlc3MteGwge1xuICAgIGhlaWdodDogMThweDtcbiAgfVxufSIsIi8qIEJ1dHRvbnMgKi9cbi5idG4ge1xuICBmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJHR5cGUtMTtcblxuICBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgfVxuXG4gIC5idG4tbGFiZWwge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYnRuLWxhYmVsLWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgJi5idG4tbGFiZWwtcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwcHgpO1xuICB9XG5cbiAgJi5idG4taWNvbnMge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgaSB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1mdyB7XG4gICAgbWluLXdpZHRoOiAkYnV0dG9uLWZpeGVkLXdpZHRoO1xuICB9XG5cbiAgJi5pY29uLWJ0biB7XG4gICAgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5zb2NpYWwtYnRuIHtcbiAgICBwYWRkaW5nOiAkc29jaWFsLWJ0bi1wYWRkaW5nO1xuXG4gICAgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6ICRzb2NpYWwtYnRuLWljb24tc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1zbSB7XG4gICAgZm9udC1zaXplOiAkYnRuLWZvbnQtc2l6ZS1zbTtcbiAgfVxuXG4gICYuYnRuLWxnIHtcbiAgICBmb250LXNpemU6ICRidG4tZm9udC1zaXplLWxnO1xuICB9XG5cbiAgJi5idG4teHMge1xuICAgIHBhZGRpbmc6ICRidG4tcGFkZGluZy15LXhzICRidG4tcGFkZGluZy14LXhzO1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemUteHM7XG4gIH1cblxuICAmLmJ0bi1kYW5nZXIsXG4gICYuYnRuLWluZm8sXG4gICYuYnRuLXN1Y2Nlc3MsXG4gICYuYnRuLXRlYWwsXG4gICYuYnRuLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbih0aGVtZS1jb2xvcihsaWdodCksMTUlKTtcbiAgICBjb2xvcjogZGFya2VuKHRoZW1lLWNvbG9yKGxpZ2h0KSwxNSUpO1xuICB9XG5cbiAgJi5idG4taW52ZXJzZS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiByZ2JhKCRibGFjaywgMC41KTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJsYWNrLCA4MCUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJsYWNrLCA4NSUpO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICAuYnRuIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICYuYnRuLXByaW1hcnkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4odGhlbWUtY29sb3IocHJpbWFyeSksMyUpO1xuICAgIH1cblxuICAgICYuYnRuLXNlY29uZGFyeSB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbih0aGVtZS1jb2xvcihzZWNvbmRhcnkpLDMlKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1pbmZvIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKHRoZW1lLWNvbG9yKGluZm8pLDMlKTtcbiAgICB9XG5cbiAgICAmLmJ0bi13YXJuaW5nIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKHRoZW1lLWNvbG9yKHdhcm5pbmcpLDMlKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKHRoZW1lLWNvbG9yKHN1Y2Nlc3MpLDMlKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1kYW5nZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4odGhlbWUtY29sb3IoZGFuZ2VyKSwzJSk7XG4gICAgfVxuXG4gICAgJi5idG4tZGFyayB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbih0aGVtZS1jb2xvcihkYXJrKSwzJSk7XG4gICAgfVxuXG4gICAgJi5idG4tbGlnaHQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4odGhlbWUtY29sb3IobGlnaHQpLDMlKTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi10b29sYmFyIHtcbiAgLmJ0bi1ncm91cCB7XG4gICAgKy5idG4tZ3JvdXAge1xuICAgICAgQGV4dGVuZCAubWwtMjtcbiAgICB9XG4gIH1cbn1cbi8qc29jaWFsIGJ1dHRvbnMqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHNvY2lhbC1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgc29jaWFsLWJ1dHRvbihzb2NpYWwtY29sb3IoJGNvbG9yKSk7XG4gIH1cbn1cbi8qc29jaWFsIGJ1dHRvbnMqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHNvY2lhbC1jb2xvcnMge1xuICAuYnRuLXNvY2lhbC1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnRuLXNvY2lhbC1vdXRsaW5lLXZhcmlhbnQoc29jaWFsLWNvbG9yKCRjb2xvcikpO1xuICB9XG59XG4vKiBpbnZlcnNlIGJ1dHRvbnMgKi9cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLWludmVyc2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24taW52ZXJzZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8qIEludmVyc2UgT3V0bGluZWQgQnV0dG9ucyAqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4taW52ZXJzZS1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWludmVyc2Utb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn0iLCJAbWl4aW4gc29jaWFsLWJ1dHRvbigkY29sb3IpIHtcblx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDEwJSk7XG5cdH1cblxuXHQmLmJ0bi1saW5rIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuXHRcdH1cblx0fVxufVxuQG1peGluIGJ0bi1zb2NpYWwtb3V0bGluZS12YXJpYW50KCRjb2xvcikge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cdGNvbG9yOiAkY29sb3I7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkY29sb3IsIDAuMik7XG5cdH1cbn1cbkBtaXhpbiBidXR0b24taW52ZXJzZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiAkd2hpdGUpIHtcblx0Y29sb3I6ICRjb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIDAuMik7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogcmdiYSgkY29sb3IsIDApO1xuXHRAaW5jbHVkZSBob3ZlciB7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Zlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQmLmZvY3VzLFxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkY29sb3IsIC41KTtcblx0fVxuXG5cdCYuZGlzYWJsZWQsXG5cdCY6ZGlzYWJsZWQge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQmLmFjdGl2ZSxcblx0JjphY3RpdmUsXG5cdC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuXHRcdGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHR9XG59XG5AbWl4aW4gYnV0dG9uLWludmVyc2Utb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiAkd2hpdGUpIHtcblx0Y29sb3I6ICRjb2xvcjtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1jb2xvcjogcmdiYSgkY29sb3IsIDAuMik7XG5cdEBpbmNsdWRlIGhvdmVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAwLjIpO1xuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgkY29sb3IsIDAuMik7XG5cdH1cblxuXHQmLmZvY3VzLFxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkY29sb3IsIC41KTtcblx0fVxuXG5cdCYuZGlzYWJsZWQsXG5cdCY6ZGlzYWJsZWQge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQmLmFjdGl2ZSxcblx0JjphY3RpdmUsXG5cdC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuXHRcdGNvbG9yOiAkY29sb3ItaG92ZXI7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cdH1cbn0iLCIvKiBCcmVhZGNydW1icyAqL1xuLmJyZWFkY3J1bWIge1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWZvbnQtc2l6ZTtcblxuICAgICYuYWN0aXZlIHt9XG4gIH1cblxuICAmLmJyZWFkY3J1bWItY3VzdG9tIHtcbiAgICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1jdXN0b20tcGFkZGluZy15ICRicmVhZGNydW1iLWN1c3RvbS1wYWRkaW5nLXg7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWJnO1xuXG4gICAgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWZvbnQtc2l6ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1iLWl0ZW0tYmc7XG4gICAgICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1jdXN0b20taXRlbS1wYWRkaW5nLXkgJGJyZWFkY3J1bWItY3VzdG9tLWl0ZW0tcGFkZGluZy14O1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWN1c3RvbS1pdGVtLWNvbG9yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmVhZGNydW1iLWl0ZW0tYmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTlweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBib3JkZXItdG9wOiAyMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDIxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IC0yMnB4O1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYmc7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMjFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAyMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICB0b3A6IC05cHg7XG4gICAgICAgICAgcmlnaHQ6IC0yM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHt9XG4gICAgfVxuICB9XG5cbiAgJi5iZy1kYW5nZXIsXG4gICYuYmctZGFyayxcbiAgJi5iZy1pbmZvLFxuICAmLmJnLXByaW1hcnksXG4gICYuYmctc3VjY2VzcyxcbiAgJi5iZy13YXJuaW5nIHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIGEsXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBpbnZlcnNlIGJyZWFkY3J1bWIgKi9cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmctaW52ZXJzZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWItaW52ZXJzZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn0iLCIvLyBCcmVhZGNydW1iIGNvbG9yIHZhcmlhdGlvbnNcbkBtaXhpbiBicmVhZGNydW1iLWludmVyc2UtdmFyaWFudCgkY29sb3IpIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLCAyNSUpO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5icmVhZGNydW1iLWN1c3RvbSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG5cbiAgICAgIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIENhcmRzICovXG4uY2FyZCB7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogMCAycHggMTZweCAtMTFweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMTZweCAtMTFweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAycHggMTZweCAtMTFweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmcteSAkY2FyZC1wYWRkaW5nLXg7XG5cbiAgICArIC5jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmcteSAkY2FyZC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIik7XG4gIH1cblxuICAmLmNhcmQtb3V0bGluZS1wcmltYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4gIH1cblxuICAmLmNhcmQtb3V0bGluZS13YXJuaW5nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtZS1jb2xvcihcIndhcm5pbmdcIik7XG4gIH1cblxuICAmLmNhcmQtb3V0bGluZS1kYW5nZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpO1xuICB9XG5cbiAgJi5jYXJkLXJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgfVxuXG4gICYuY2FyZC1mYWRlZCB7XG4gICAgYmFja2dyb3VuZDogI2I1YjBiMjtcbiAgICBib3JkZXItY29sb3I6ICNiNWIwYjI7XG4gIH1cblxuICAmLmNhcmQtY2lyY2xlLXByb2dyZXNzIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5jYXJkLWludmVyc2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBjYXJkLWludmVyc2UtdmFyaWFudChyZ2JhKHRoZW1lLWNvbG9yKCRjb2xvciksIC4yKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAxKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAzKSk7XG4gIH1cbn0iLCIvLyBDYXJkcyBNaXhpbnNcbkBtaXhpbiBjYXJkLWludmVyc2UtdmFyaWFudCgkYmcsICRib3JkZXIsICRjb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGNvbG9yOiAkY29sb3I7XG59IiwiLyogQ2hlY2tib3hlcyBhbmQgUmFkaW9zICovXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLnJ0bCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjc1cmVtO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICAucnRsICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgKyAuaW5wdXQtaGVscGVyIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAucnRsICYge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInNpbXBsZS1saW5lLWljb25zXCI7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgY29udGVudDogXCJcXGUwODBcIjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsuaW5wdXQtaGVscGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICArIC5pbnB1dC1oZWxwZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICsgLmlucHV0LWhlbHBlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICBjb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICsuaW5wdXQtaGVscGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIC5ydGwgJiB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJvcmRlcjogc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgLnJ0bCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbDtcbiAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGw7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgKy5pbnB1dC1oZWxwZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICArIC5pbnB1dC1oZWxwZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICsgLmlucHV0LWhlbHBlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuZm9ybS1jaGVjay0jeyRjb2xvcn0ge1xuICAgICYuZm9ybS1jaGVjayB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsuaW5wdXQtaGVscGVyIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsuaW5wdXQtaGVscGVyIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcblxuICB9XG59IiwiLyogRHJvcGRvd25zICovXG4uZHJvcGRvd24tbWVudSB7XG4gIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXG4gIC5kcm9wZG93bi1pdGVtIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgJjphZnRlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogJ3NpbXBsZS1saW5lLWljb25zJztcbiAgICBjb250ZW50OiBcIlxcZTYwNFwiOyBcbiAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxufVxuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICdzaW1wbGUtbGluZS1pY29ucyc7XG4gICAgICBjb250ZW50OiBcIlxcZTYwN1wiOyAgXG4gICAgICBmb250LXNpemU6IC42MjVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgfVxuICB9XG59IiwiLyogRm9ybXMgKi9cbi5pbnB1dC1ncm91cC1hcHBlbmQsXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKTtcbiAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcblxuICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBwYWRkaW5nOiAkYnRuLXBhZGRpbmcteSAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAuNzVyZW07XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gLjc1cmVtO1xuICB9XG59XG5cbnNlbGVjdCB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC43NXJlbTtcbiAgfVxufVxuXG4uZm9ybS1ncm91cCB7XG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJi5oYXMtZGFuZ2VyIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoZGFuZ2VyKTtcbiAgICB9XG4gIH1cblxuICAuZmlsZS11cGxvYWQtZGVmYXVsdCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5maWxlLXVwbG9hZC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufSIsIi5tYXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDM1JSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG5cbiAgLmdvb2dsZS1tYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi5uby1jb250cm9scyB7XG4gICAgICAuZ20tc3R5bGUtY2MsXG4gICAgICAuZ21ub3ByaW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBJY29ucyAqL1xuLmljb25zLWxpc3Qge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXG4gID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAvL0BpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcblxuICAgIGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG4uaWNvbi1pbi1iZyB7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDU1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gIC8vQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgLy9AaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufSIsIi8qIExpc3RzICovXG5kbCxcbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG59XG5cbi5saXN0LWFycm93LFxuLmxpc3Qtc3Rhcixcbi5saXN0LXRpY2tlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdzaW1wbGUtbGluZS1pY29ucyc7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtdGlja2VkIHtcbiAgbGkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG4gICAgICBjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG5cbi5saXN0LWFycm93IHtcbiAgbGkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlNjA2XCI7XG4gICAgICBjb2xvcjogdGhlbWUtY29sb3Ioc3VjY2Vzcyk7XG4gICAgfVxuICB9XG59XG5cbi5saXN0LXN0YXIge1xuICBsaSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGUwOWJcIjtcbiAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcih3YXJuaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1bGxldC1saW5lLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAucnRsICYge1xuICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZDogY29sb3Iod2hpdGUpO1xuXG4gICAgICAucnRsICYge1xuICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IC00NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA3cHg7XG4gICAgLnJ0bCAmIHtcbiAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgcmlnaHQ6IDdweDtcbiAgICB9XG4gIH1cbn0iLCIvKiBMb2FkZXJzICovXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiY29sb3JlZC1iYWxsc1wiO1xuQGltcG9ydCBcImdsb3dpbmctYmFsbFwiO1xuQGltcG9ydCBcInBpeGVsLWxvYWRlclwiO1xuQGltcG9ydCBcInNxdWFyZS1ib3hcIjtcbkBpbXBvcnQgXCJjaXJjbGUtbG9hZGVyXCI7XG5AaW1wb3J0IFwianVtcGluZy1kb3RzLWxvYWRlclwiO1xuQGltcG9ydCBcImJhci1sb2FkZXJcIjtcbkBpbXBvcnQgXCJzcXVhcmUtcGF0aC1sb2FkZXJcIjtcbkBpbXBvcnQgXCJkb3Qtb3BhY2l0eS1sb2FkZXJcIjtcbkBpbXBvcnQgXCJmbGlwLXNxdWFyZS1sb2FkZXJcIjtcbkBpbXBvcnQgXCJtb3Zpbmctc3F1YXJlLWxvYWRlclwiOyIsIiNwZ2xvYWRpbmcge1xuXHRwb3NpdGlvbjogc3RhdGljO1xuXG5cdC5ib2tlaCB7XG5cdFx0Zm9udC1zaXplOiAxMDBweDtcblx0XHR3aWR0aDogMWVtO1xuXHRcdGhlaWdodDogMWVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyOiAwLjAxZW0gc29saWQgJGJvcmRlci1jb2xvcjtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMC4yZW07XG5cdFx0XHRoZWlnaHQ6IDAuMmVtO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRtYXJnaW46IDAgMCAwIC0uMWVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihzdWNjZXNzKTtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUwJTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNTAlIDI1MCU7XG5cdFx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiByb3RhIDEuMTNzIGxpbmVhciBpbmZpbml0ZSwgb3BhIDMuNjdzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblx0XHRcdFx0YW5pbWF0aW9uOiByb3RhIDEuMTNzIGxpbmVhciBpbmZpbml0ZSwgb3BhIDMuNjdzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbjogLS4xZW0gMCAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IC0xNTAlIDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogLTE1MCUgNTAlO1xuXHRcdFx0XHQtd2Via2l0LWFuaW1hdGlvbjogcm90YSAxLjg2cyBsaW5lYXIgaW5maW5pdGUsIG9wYSA0LjI5cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG5cdFx0XHRcdGFuaW1hdGlvbjogcm90YSAxLjg2cyBsaW5lYXIgaW5maW5pdGUsIG9wYSA0LjI5cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDAgLS4xZW07XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHdhcm5pbmcpO1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAtMTUwJTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNTAlIC0xNTAlO1xuXHRcdFx0XHQtd2Via2l0LWFuaW1hdGlvbjogcm90YSAxLjQ1cyBsaW5lYXIgaW5maW5pdGUsIG9wYSA1LjEycyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG5cdFx0XHRcdGFuaW1hdGlvbjogcm90YSAxLjQ1cyBsaW5lYXIgaW5maW5pdGUsIG9wYSA1LjEycyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbjogLS4xZW0gMCAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAyNTAlIDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMjUwJSA1MCU7XG5cdFx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiByb3RhIDEuNzJzIGxpbmVhciBpbmZpbml0ZSwgb3BhIDUuMjVzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblx0XHRcdFx0YW5pbWF0aW9uOiByb3RhIDEuNzJzIGxpbmVhciBpbmZpbml0ZSwgb3BhIDUuMjVzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhIHtcblx0ZnJvbSB7fVxuXG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgcm90YSB7XG5cdGZyb20ge31cblxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBvcGEge1xuXHQwJSB7fVxuXG5cdDEyLjAlIHtcblx0XHRvcGFjaXR5OiAwLjgwO1xuXHR9XG5cblx0MTkuNSUge1xuXHRcdG9wYWNpdHk6IDAuODg7XG5cdH1cblxuXHQzNy4yJSB7XG5cdFx0b3BhY2l0eTogMC42NDtcblx0fVxuXG5cdDQwLjUlIHtcblx0XHRvcGFjaXR5OiAwLjUyO1xuXHR9XG5cblx0NTIuNyUge1xuXHRcdG9wYWNpdHk6IDAuNjk7XG5cdH1cblxuXHQ2MC4yJSB7XG5cdFx0b3BhY2l0eTogMC42MDtcblx0fVxuXG5cdDY2LjYlIHtcblx0XHRvcGFjaXR5OiAwLjUyO1xuXHR9XG5cblx0NzAuMCUge1xuXHRcdG9wYWNpdHk6IDAuNjM7XG5cdH1cblxuXHQ3OS45JSB7XG5cdFx0b3BhY2l0eTogMC42MDtcblx0fVxuXG5cdDg0LjIlIHtcblx0XHRvcGFjaXR5OiAwLjc1O1xuXHR9XG5cblx0OTEuMCUge1xuXHRcdG9wYWNpdHk6IDAuODc7XG5cdH1cbn1cbkBrZXlmcmFtZXMgb3BhIHtcblx0MCUge31cblxuXHQxMi4wJSB7XG5cdFx0b3BhY2l0eTogMC44MDtcblx0fVxuXG5cdDE5LjUlIHtcblx0XHRvcGFjaXR5OiAwLjg4O1xuXHR9XG5cblx0MzcuMiUge1xuXHRcdG9wYWNpdHk6IDAuNjQ7XG5cdH1cblxuXHQ0MC41JSB7XG5cdFx0b3BhY2l0eTogMC41Mjtcblx0fVxuXG5cdDUyLjclIHtcblx0XHRvcGFjaXR5OiAwLjY5O1xuXHR9XG5cblx0NjAuMiUge1xuXHRcdG9wYWNpdHk6IDAuNjA7XG5cdH1cblxuXHQ2Ni42JSB7XG5cdFx0b3BhY2l0eTogMC41Mjtcblx0fVxuXG5cdDcwLjAlIHtcblx0XHRvcGFjaXR5OiAwLjYzO1xuXHR9XG5cblx0NzkuOSUge1xuXHRcdG9wYWNpdHk6IDAuNjA7XG5cdH1cblxuXHQ4NC4yJSB7XG5cdFx0b3BhY2l0eTogMC43NTtcblx0fVxuXG5cdDkxLjAlIHtcblx0XHRvcGFjaXR5OiAwLjg3O1xuXHR9XG59IiwiLmdsb3dpbmctbG9hZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uczIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogNzBweDtcblx0d2lkdGg6IDcwcHg7XG5cdHRvcDogNTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5zMSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiA3MHB4O1xuXHR3aWR0aDogNzBweDtcblx0bGVmdDogNTAlO1xuXHR0b3A6IDUwcHg7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5iaWdjb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogNzVweDtcblx0d2lkdGg6IDc1cHg7XG5cdGxlZnQ6IDUwJTtcblx0dG9wOiA1MHB4O1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YW5pbWF0aW9uOiBiaWdjb24gMnMgaW5maW5pdGUgbGluZWFyO1xuXHRhbmltYXRpb24tZGVsYXk6IDAuMjVzO1xufVxuXG4uYiB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucyB7XG5cdHdpZHRoOiAxNXB4O1xuXHRoZWlnaHQ6IDE1cHg7XG5cdGFuaW1hdGlvbjogc21hbGwgMnMgaW5maW5pdGUgZWFzZTtcblx0Ym94LXNoYWRvdzogMCAycHggcmdiYSgkYmxhY2ssIC4zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG59XG5cbi5zOm50aC1jaGlsZCgxKSB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLnM6bnRoLWNoaWxkKDIpIHtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcbn1cblxuLnM6bnRoLWNoaWxkKDMpIHtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcbn1cblxuLnM6bnRoLWNoaWxkKDQpIHtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4uYmlnIHtcblx0d2lkdGg6IDE1cHg7XG5cdGhlaWdodDogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogMTVweDtcblx0Ym94LXNoYWRvdzogMCAwIDEwcHggdGhlbWUtY29sb3IocHJpbWFyeSksIDAgMCAyMHB4IHRoZW1lLWNvbG9yKHByaW1hcnkpLCAwIDAgMzBweCB0aGVtZS1jb2xvcihwcmltYXJ5KSwgMCAwIDUwcHggdGhlbWUtY29sb3IocHJpbWFyeSksIDAgMCA2MHB4IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHR6LWluZGV4OiAxO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcblx0YW5pbWF0aW9uOiBiaWdiYWxsIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLnNiMSB7XG5cdGFuaW1hdGlvbi1kZWxheTogLTEuNzVzO1xufVxuXG4uc2I2IHtcblx0YW5pbWF0aW9uLWRlbGF5OiAtMS41cztcbn1cblxuLnNiMiB7XG5cdGFuaW1hdGlvbi1kZWxheTogLTEuMjVzO1xufVxuXG4uc2I3IHtcblx0YW5pbWF0aW9uLWRlbGF5OiAtMXM7XG59XG5cbi5zYjMge1xuXHRhbmltYXRpb24tZGVsYXk6IC0wLjc1cztcbn1cblxuLnNiOCB7XG5cdGFuaW1hdGlvbi1kZWxheTogLTAuNXM7XG59XG5cbi5zYjQge1xuXHRhbmltYXRpb24tZGVsYXk6IC0wLjI1cztcbn1cblxuLnNiNSB7XG5cdGFuaW1hdGlvbi1kZWxheTogLTBzO1xufVxuQGtleWZyYW1lcyBiaWdjb24ge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQwNWRlZyk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgc21hbGwge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKHRoZW1lLWNvbG9yKHByaW1hcnkpLCAyMCUpO1xuXHR9XG5cblx0MTAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdH1cblxuXHQxNSUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblxuXHQyNSUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHR9XG59IiwiLyogUGl4ZWwgbG9hZGVyICovXG4ucGl4ZWwtbG9hZGVyIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogdGhlbWUtY29sb3Iod2FybmluZyk7XG4gIGNvbG9yOiB0aGVtZS1jb2xvcih3YXJuaW5nKTtcbiAgbWFyZ2luOiA4MHB4IGF1dG87XG4gIGJveC1zaGFkb3c6IDE1cHggMTVweCAwIDAsIC0xNXB4IC0xNXB4IDAgMCwgMTVweCAtMTVweCAwIDAsIC0xNXB4IDE1cHggMCAwLCAwIDE1cHggMCAwLCAxNXB4IDAgMCAwLCAtMTVweCAwIDAgMCwgMCAtMTVweCAwIDA7XG4gIGFuaW1hdGlvbjogYW5pbSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIGFuaW0ge1xuICAwJSB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGh1ZS1yb3RhdGUoMGRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDIwcHggMjBweCAwIDAsIC0yMHB4IC0yMHB4IDAgMCwgMjBweCAtMjBweCAwIDAsIC0yMHB4IDIwcHggMCAwLCAwIDEwcHggMCAwLCAxMHB4IDAgMCAwLCAtMTBweCAwIDAgMCwgMCAtMTBweCAwIDA7XG4gIH1cblxuICA3NSUge1xuICAgIGJveC1zaGFkb3c6IDIwcHggMjBweCAwIDAsIC0yMHB4IC0yMHB4IDAgMCwgMjBweCAtMjBweCAwIDAsIC0yMHB4IDIwcHggMCAwLCAwIDEwcHggMCAwLCAxMHB4IDAgMCAwLCAtMTBweCAwIDAgMCwgMCAtMTBweCAwIDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC13ZWJraXQtZmlsdGVyOiBodWUtcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iLCIvKiBTcXVhcmUgYm94IGxvYWRlciAqL1xuQGtleWZyYW1lcyBkeWluZ2xpZ2h0IHtcblx0MTUlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNik7XG5cdH1cblxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC04OWRlZyk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHR9XG59XG5cbi5zcXVhcmUtYm94LWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNxdWFyZS1ib3gtbG9hZGVyLXNxdWFyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogJHNxdWFyZS1zaXplO1xuXHRoZWlnaHQ6ICRzcXVhcmUtc2l6ZTtcblx0YmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG59XG5cbi5zcXVhcmUtYm94LWxvYWRlci1jb250YWluZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0dHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAwO1xuXHRhbmltYXRpb246IGR5aW5nbGlnaHQgMXMgZWFzZSBpbmZpbml0ZTtcblx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc3F1YXJlLWJveC1sb2FkZXItY29ybmVyLWJvdHRvbTphZnRlcixcbi5zcXVhcmUtYm94LWxvYWRlci1jb3JuZXItYm90dG9tOmJlZm9yZSxcbi5zcXVhcmUtYm94LWxvYWRlci1jb3JuZXItdG9wOmFmdGVyLFxuLnNxdWFyZS1ib3gtbG9hZGVyLWNvcm5lci10b3A6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogJHNxdWFyZS1jb3JuZXItc2l6ZTtcblx0aGVpZ2h0OiAkc3F1YXJlLWNvcm5lci1zaXplO1xuXHRjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdGNvbnRlbnQ6ICcnO1xufVxuXG4uc3F1YXJlLWJveC1sb2FkZXItY29ybmVyLXRvcCB7XG5cdCY6YmVmb3JlIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZDtcblx0XHR0b3A6IC0kc3F1YXJlLWNvcm5lci1wb3NpdGlvbjtcblx0XHRsZWZ0OiAtJHNxdWFyZS1jb3JuZXItcG9zaXRpb247XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQ7XG5cdFx0dG9wOiAtJHNxdWFyZS1jb3JuZXItcG9zaXRpb247XG5cdFx0cmlnaHQ6IC0kc3F1YXJlLWNvcm5lci1wb3NpdGlvbjtcblx0fVxufVxuXG4uc3F1YXJlLWJveC1sb2FkZXItY29ybmVyLWJvdHRvbSB7XG5cdCY6YmVmb3JlIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblx0XHRib3R0b206IC0kc3F1YXJlLWNvcm5lci1wb3NpdGlvbjtcblx0XHRsZWZ0OiAtJHNxdWFyZS1jb3JuZXItcG9zaXRpb247XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG5cdFx0Ym90dG9tOiAtJHNxdWFyZS1jb3JuZXItcG9zaXRpb247XG5cdFx0cmlnaHQ6IC0kc3F1YXJlLWNvcm5lci1wb3NpdGlvbjtcblx0fVxufSIsIiRzcXVhcmUtYm94LXNjYWxlOiAzO1xuJHNxdWFyZS1zaXplOiAzMHB4O1xuJHNxdWFyZS1jb3JuZXItc2l6ZTogY2VpbCgkc3F1YXJlLXNpemUgLyAkc3F1YXJlLWJveC1zY2FsZSk7XG4kc3F1YXJlLWNvcm5lci1wb3NpdGlvbjogY2VpbCgkc3F1YXJlLWNvcm5lci1zaXplIC8gJHNxdWFyZS1ib3gtc2NhbGUpOyIsIi8qIENpcmNsZSBsb2FkZXIgKi9cbi5jaXJjbGUtbG9hZGVyIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNpcmNsZS1sb2FkZXI6YWZ0ZXIsXG4uY2lyY2xlLWxvYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZS1jb2xvcih3YXJuaW5nKTtcbn1cblxuLmNpcmNsZS1sb2FkZXI6YmVmb3JlIHtcbiAgei1pbmRleDogMTAwO1xuICBhbmltYXRpb246IHNwaW4gMXMgaW5maW5pdGU7XG59XG5cbi5jaXJjbGUtbG9hZGVyOmFmdGVyIHtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkIHRoZW1lLWNvbG9yKHNlY29uZGFyeSk7XG59XG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59IiwiLyogSnVtcGluZyBkb3RzIGxvYWRlciAqL1xuLmp1bXBpbmctZG90cy1sb2FkZXIge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5qdW1waW5nLWRvdHMtbG9hZGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodGhlbWUtY29sb3IoZGFuZ2VyKSwgLjgpO1xuICBtYXJnaW46IDM1cHggNXB4O1xufVxuXG4uanVtcGluZy1kb3RzLWxvYWRlciBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbjogYm91bmNlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uanVtcGluZy1kb3RzLWxvYWRlciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbjogYm91bmNlIDFzIGVhc2UtaW4tb3V0IDAuMzNzIGluZmluaXRlO1xufVxuXG4uanVtcGluZy1kb3RzLWxvYWRlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIGFuaW1hdGlvbjogYm91bmNlIDFzIGVhc2UtaW4tb3V0IDAuNjZzIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMTAwJSxcbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbn0iLCIvKiBCYXIgbG9hZGVyICovXG4uYmFyLWxvYWRlciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5iYXItbG9hZGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS1jb2xvcihkYW5nZXIpLCAuNyk7XG59XG5cbi5iYXItbG9hZGVyIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgYW5pbWF0aW9uOiBncm93IDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uYmFyLWxvYWRlciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbjogZ3JvdyAxcyBlYXNlLWluLW91dCAwLjE1cyBpbmZpbml0ZTtcbn1cblxuLmJhci1sb2FkZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb246IGdyb3cgMXMgZWFzZS1pbi1vdXQgMC4zMHMgaW5maW5pdGU7XG59XG5cbi5iYXItbG9hZGVyIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgYW5pbWF0aW9uOiBncm93IDFzIGVhc2UtaW4tb3V0IDAuNDVzIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBncm93IHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEuOCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEuOCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoMS44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxLjgpO1xuICB9XG59IiwiLyogU3F1YXJlIHBhdGggbG9hZGVyICovXG4uc3F1YXJlLXBhdGgtbG9hZGVyIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uc3F1YXJlLXBhdGgtbG9hZGVyOmFmdGVyLFxuLnNxdWFyZS1wYXRoLWxvYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS1jb2xvcihzdWNjZXNzKSwgLjcpO1xuICBhbmltYXRpb246IHNxdWFyZW1vdmUgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5zcXVhcmUtcGF0aC1sb2FkZXI6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41cztcbn1cbkBrZXlmcmFtZXMgc3F1YXJlbW92ZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkgcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHJvdGF0ZSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHJvdGF0ZSgwKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDQwcHgsNDBweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDBweCw0MHB4KSByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCw4MHB4KSByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCw4MHB4KSByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LDgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsODBweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC00MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC00MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwcHgsNDBweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCw0MHB4KSByb3RhdGUoNDVkZWcpO1xuICB9XG59IiwiLyogRG90IG9wYWNpdHkgbG9hZGVyICovXG4uZG90LW9wYWNpdHktbG9hZGVyIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZG90LW9wYWNpdHktbG9hZGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICBtYXJnaW46IDM1cHggNXB4O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZG90LW9wYWNpdHktbG9hZGVyIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uZG90LW9wYWNpdHktbG9hZGVyIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IDAuMzNzIGluZmluaXRlO1xufVxuXG4uZG90LW9wYWNpdHktbG9hZGVyIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IDAuNjZzIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBvcGFjaXR5Y2hhbmdlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn0iLCIvKiBGbGlwIHNxdWFyZSAqL1xuLmZsaXAtc3F1YXJlLWxvYWRlciB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMHB4O1xuICAtbW96LXBlcnNwZWN0aXZlOiAxMjBweDtcbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mbGlwLXNxdWFyZS1sb2FkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyNXB4O1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodGhlbWUtY29sb3Ioc3VjY2VzcyksIC43KTtcbiAgYW5pbWF0aW9uOiBmbGlwIDFzIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHJvdGF0ZVgoMTgwZGVnKTtcbiAgfVxufSIsIi8qIE1vdmluZyBzcXVhcmUgbG9hZGVyICovXG4ubW92aW5nLXNxdWFyZS1sb2FkZXIge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tb3Zpbmctc3F1YXJlLWxvYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS1jb2xvcihkYW5nZXIpLCAuNyk7XG4gIGFuaW1hdGlvbjogcm90YXRlbW92ZSAxcyBpbmZpbml0ZTtcbn1cbkBrZXlmcmFtZXMgcm90YXRlbW92ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWCgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKSB0cmFuc2xhdGVYKDQ1cHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDIpIHRyYW5zbGF0ZVgoNDVweCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgyKSB0cmFuc2xhdGVYKDQ1cHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMikgdHJhbnNsYXRlWCg0NXB4KTtcbiAgfVxufSIsIi8qIE1vZGFscyAqL1xuLm1vZGFsIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRuYXZiYXItaGVpZ2h0fSArIDMwcHgpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14O1xuXG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICM2YTZhNmE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy15ICRtb2RhbC1ib2R5LXBhZGRpbmcteDtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZy15ICRtb2RhbC1mb290ZXItcGFkZGluZy14O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIE5ldyBBY2NvdW50ICovXG4ubmV3LWFjY291bnRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHVsLmNoYXRzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgIGxpLmNoYXQtcGVyc29ucyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItcHJvcGVydHk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5idG4ge1xuICAgICAgICAmLmJ0bi14cyB7XG4gICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuNzVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgLmQtZmxleDtcbiAgICAgICAgQGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgc3Bhbi5wcm8tcGljIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIG1heC13aWR0aDogNDBweDtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnVzZXIge1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgQGV4dGVuZCAuZC1mbGV4O1xuICAgICAgICAgIEBleHRlbmQgLmZsZXgtY29sdW1uO1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDAgMTVweDtcblxuICAgICAgICAgIHAudS1uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKGRhcmspO1xuICAgICAgICAgICAgQGV4dGVuZCAlZWxsaXBzb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcC51LWRlc2lnbmF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIEBleHRlbmQgJWVsbGlwc29yO1xuICAgICAgICAgICAgQGV4dGVuZCAudGV4dC1ncmF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAuam9pbmVkLWRhdGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIEBleHRlbmQgLnRleHQtZ3JheTtcblxuICAgICAgICAgIC5ydGwgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBQYWdpbmF0aW9uICovXG4ucGFnaW5hdGlvbiB7XG4gIC5wYWdlLWl0ZW0ge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC4zcyk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mbGF0IHtcbiAgICAucGFnZS1pdGVtIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlcGFyYXRlZCB7XG4gICAgLnBhZ2UtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucm91bmRlZCB7XG4gICAgLnBhZ2UtaXRlbSB7XG4gICAgICAucGFnZS1saW5rIHt9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDI1cHggMCAwIDI1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAyNXB4IDI1cHggMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJvdW5kZWQtZmxhdCB7XG4gICAgLnBhZ2UtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG5cbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5yb3VuZGVkLXNlcGFyYXRlZCB7XG4gICAgLnBhZ2UtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwcHggMCAwIDEwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMTBweCAxMHB4IDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBwYWdpbmF0aW9uIHZhcmlhdGlvbnMgKi9cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAucGFnaW5hdGlvbi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tdmFyaWFudHMoJHZhbHVlKTtcbiAgfVxufSIsIi8vIFBhZ2luYXRpb24gdmFyaWF0aW9uc1xuQG1peGluIHBhZ2luYXRpb24tdmFyaWFudHMoJGNvbG9yKSB7XG4gIC5wYWdlLWl0ZW0ge1xuICAgICYuYWN0aXZlIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkY29sb3IsMC4zKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciw1JSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIFBvcG92ZXJzICovXG4ucG9wb3Zlcntcblx0Ji5sZWZ0e1xuXHRcdC5hcnJvd3tcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXHRcdH1cblx0fVxufVxuLnBvcG92ZXItc3RhdGljLWRlbW8ge1xuXHQucG9wb3ZlciB7XG5cdFx0d2lkdGg6IDE4NXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDFyZW0gMC41cmVtO1xuXG5cdFx0Ji5icy1wb3BvdmVyLWJvdHRvbS1kZW1vLFxuXHRcdCYuYnMtcG9wb3Zlci10b3AtZGVtbyB7XG5cdFx0XHQuYXJyb3cge1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5icy1wb3BvdmVyLWxlZnQtZGVtbyxcblx0XHQmLmJzLXBvcG92ZXItcmlnaHQtZGVtbyB7XG5cdFx0XHQuYXJyb3cge1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnBvcG92ZXIge1xuXHR6LWluZGV4OiAxMDI5O1xuXG5cdCYuYnMtcG9wb3Zlci10b3AtZGVtbyB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmJzLXBvcG92ZXItcmlnaHQtZGVtbyB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5icy1wb3BvdmVyLWJvdHRvbS1kZW1vIHtcblx0XHQuYXJyb3cge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wb3BvdmVyLWhlYWRlciB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5icy1wb3BvdmVyLWxlZnQtZGVtbyB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wb3BvdmVyLWhlYWRlciB7XG5cdFx0Zm9udC1zaXplOiAwLjkzNzVyZW07XG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0YmFja2dyb3VuZDogJHBvcG92ZXItYmc7XG5cdH1cblxuXHQucG9wb3Zlci1ib2R5IHtcblx0XHRjb2xvcjogJHBvcG92ZXItdGV4dC1jb2xvcjtcblx0XHRiYWNrZ3JvdW5kOiAkcG9wb3Zlci1iZztcblx0fVxuXG5cdCYubGVmdCB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5yaWdodCB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG5cdC5wb3BvdmVyLSN7JGNvbG9yfSB7XG5cdFx0QGluY2x1ZGUgcG9wb3Zlci12YXJpYW50KHRoZW1lLWNvbG9yKCRjb2xvcikpO1xuXHR9XG59IiwiLy8gcG9wb3ZlciBjb2xvciB2YXJpYXRpb25zIC8vXG5AbWl4aW4gcG9wb3Zlci12YXJpYW50KCRjb2xvcikge1xuXHQucG9wb3Zlci1oZWFkZXIge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0Ji5icy1wb3BvdmVyLXRvcCB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmJzLXBvcG92ZXItcmlnaHQge1xuXHRcdC5hcnJvdyB7XG5cdFx0XHQmOmFmdGVyLFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmJzLXBvcG92ZXItYm90dG9tIHtcblx0XHQuYXJyb3cge1xuXHRcdFx0JjphZnRlcixcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuYnMtcG9wb3Zlci1sZWZ0IHtcblx0XHQuYXJyb3cge1xuXHRcdFx0JjphZnRlcixcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiBQb3J0Zm9saW8gKi9cbi5wb3J0Zm9saW8tZ3JpZCB7XG5cdGZpZ3VyZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogdGhlbWUtY29sb3Iod2FybmluZyk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0XHRcdHdpZHRoOiAyNzBweDtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0fVxuXG5cdFx0ZmlnY2FwdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiAyZW07XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZWZmZWN0LXRleHQtaW4ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMC4yNXJlbTtcblxuXHRcdFx0aDQsXG5cdFx0XHRpbWcge1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHR9XG5cblx0XHRcdGg0LFxuXHRcdFx0cCB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDUwcHgsMCk7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtODBweCwwKTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTgwcHgsMCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTEwMHB4LDApO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTAwcHgsMCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiBQcmV2aWV3ICovXG4ucHJldmlldy1saXN0IHtcbiAgLnByZXZpZXctaXRlbSB7XG4gICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgLy9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG4gICAgLy9AaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgLnByZXZpZXctdGh1bWJuYWlsIHtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5wcmV2aWV3LWljb24sXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAucHJldmlldy1pY29uIHtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmFkZ2Uge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuXG4gICAgICAgICYuYmFkZ2Utb25saW5lIHtcbiAgICAgICAgICBAZXh0ZW5kIC5iYWRnZS1zdWNjZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iYWRnZS1vZmZsaW5lIHtcbiAgICAgICAgICBAZXh0ZW5kIC5iYWRnZS1pbmZvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iYWRnZS1idXN5IHtcbiAgICAgICAgICBAZXh0ZW5kIC5iYWRnZS13YXJuaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByZXZpZXctaXRlbS1jb250ZW50IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAucnRsICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgLnJ0bCAmIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIC5jb250ZW50LWNhdGVnb3J5IHtcbiAgICAgICAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgQGV4dGVuZCAudGV4dC1tdXRlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2aWV3LWFjdGlvbnMge1xuICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgIC8vQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICBpIHtcbiAgICAgICAgd2lkdGg6IDI5cHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihncmF5LWxpZ2h0ZXN0KTtcbiAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihncmF5LWxpZ2h0ZXN0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY29tbWVudC1wcmV2aWV3IHtcbiAgICAucHJldmlldy1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDAuODdyZW0gMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ib3JkZXJlZCB7XG4gICAgLnByZXZpZXctaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBQcmljaW5nIHRhYmxlICovXG4ucHJpY2luZy10YWJsZSB7XG4gIC5wcmljaW5nLWNhcmQge1xuICAgIC5wcmljaW5nLWNhcmQtYm9keSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDU2cHggNDNweDtcblxuICAgICAgLnBsYW4tZmVhdHVyZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIFRhYmxlcyAqL1xuLnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDE2cHggMTBweDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJhZGdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIHRkLFxuICAgIHRoLFxuICAgIHRyIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgdHIge1xuICAgICAgdGQsdGgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSAme1xuICAgIHRoLHRke1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICB9XG59IiwiLyogVGFicyAqL1xuLy8gQmFzaWMgU3R5bGVzXG5cbi5uYXYtcGlsbHMsXG4ubmF2LXRhYnMge1xuXHQubmF2LWl0ZW0ge1xuXHRcdC5uYXYtbGluayB7XG5cdFx0XHRmb250LWZhbWlseTogJHR5cGUtMTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Zm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHQvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdGkge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50YWItY29udGVudCB7XG5cdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6IDEuNzE7XG59XG5cbi50YWItYmFzaWMge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdC5uYXYtaXRlbSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiA3JTtcblxuXHRcdC5uYXYtbGluayB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LW11dGVkO1xuXHRcdFx0cGFkZGluZzogMCAwIDdweDtcblx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG5cblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuXHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3Ioc3VjY2Vzcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50YWItY29udGVudC1iYXNpYyB7fVxuXG4udGFiLXNvbGlkIHtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG5cdC5uYXYtaXRlbSB7XG5cdFx0Lm5hdi1saW5rIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDEwcHggMTZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG5cblx0XHRcdCY6bnRoKGZpc3QtY2hpbGQpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRhYi1jb250ZW50LXNvbGlkIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcblx0LnRhYi1zb2xpZC0jeyRjb2xvcn0ge1xuXHRcdEBpbmNsdWRlIHRhYi1zb2xpZC12YXJpYW50KCR2YWx1ZSk7XG5cdH1cbn1cblxuLnRhYi1taW5pbWFsIHtcblx0Lm5hdi10YWJzIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHQubmF2LWl0ZW0ge1xuXHRcdFx0Lm5hdi1saW5rIHtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGFiLWNvbnRlbnQge31cbn1cblxuLnRhYi1zaW1wbGUtc3R5bGVkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0bWFyZ2luLXRvcDogMzBweDtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuXHQubmF2LWl0ZW0ge1xuXHRcdG1hcmdpbi1yaWdodDogMzBweDtcblxuXHRcdC5uYXYtbGluayB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGNvbG9yOiAkdGV4dC1tdXRlZDtcblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoaW5mbyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi52ZXJ0aWNhbC10YWIge1xuXHQvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcblx0Ly9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG5cdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0ZGlzcGxheTogZmxleDtcblx0Lm5hdi10YWJzIHtcblx0XHQvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcblx0XHQvL0BpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cdFx0LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHQvL0BpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG5cdFx0XHQtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblx0fVxuXG5cdC50YWItY29udGVudCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuIiwiLy8gU29saWQgdGFiIHZhcmlhdGlvbnNcbkBtaXhpbiB0YWItc29saWQtdmFyaWFudCgkY29sb3IpIHtcbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4vLyBNaW5pbWFsIHRhYiB2YXJpYXRpb25zXG5AbWl4aW4gdGFiLW1pbmltYWwtdmFyaWFudCgkY29sb3IpIHtcbiAgLm5hdi10YWJzIHtcbiAgICAubmF2LWl0ZW0ge1xuICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFiLWNvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59IiwiLyogVGFicyAqL1xuXG4uYWRkLWl0ZW1zIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIC5ydGwgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5saXN0LXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpIHtcbiAgICAgIEBleHRlbmQgLmQtZmxleDtcbiAgICAgIEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlcjtcbiAgICAgIEBleHRlbmQgLmp1c3RpZnktY29udGVudC1zdGFydDtcbiAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgICBwYWRkaW5nOiAuN3JlbSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWNoZWNre1xuICAgICAgICBAZXh0ZW5kICVlbGxpcHNvcjtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbHtcbiAgICAgICAgICBAZXh0ZW5kJWVsbGlwc29yO1xuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgLnJlbW92ZSB7XG4gICAgQGV4dGVuZCAubWwtYXV0bztcbiAgICBAZXh0ZW5kIC50ZXh0LWRhbmdlcjtcbiAgICAucnRsICYge1xuICAgICAgQGV4dGVuZCAubWwtMDtcbiAgICAgIEBleHRlbmQgLm1yLWF1dG87XG4gICAgfVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIvKiBUb29sdGlwcyAqL1xuLnRvb2x0aXAtc3RhdGljLWRlbW8ge1xuXHQudG9vbHRpcCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRvcGFjaXR5OiAxO1xuXHRcdG1hcmdpbjogMCAxMHB4IDEwcHggMDtcblx0fVxuXG5cdC5icy10b29sdGlwLWJvdHRvbS1kZW1vLFxuXHQuYnMtdG9vbHRpcC10b3AtZGVtbyB7XG5cdFx0LmFycm93IHtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHR9XG5cdH1cblxuXHQuYnMtdG9vbHRpcC1sZWZ0LWRlbW8sXG5cdC5icy10b29sdGlwLXJpZ2h0LWRlbW8ge1xuXHRcdC5hcnJvdyB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHR9XG5cdH1cbn1cblxuLnRvb2x0aXAge1xuXHRmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcblx0bWluLXdpZHRoOiA1LjYyNXJlbTtcblxuXHQudG9vbHRpcC1pbm5lciB7XG5cdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdH1cblx0ei1pbmRleDogMTAyOTtcbn1cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuXHQudG9vbHRpcC0jeyRjb2xvcn0ge1xuXHRcdEBpbmNsdWRlIHRvb2x0aXAtdmFyaWFudCh0aGVtZS1jb2xvcigkY29sb3IpKTtcblx0fVxufSIsIi8vIFRvb2x0aXAgY29sb3IgIHZhcmlhdGlvbnNcbkBtaXhpbiB0b29sdGlwLXZhcmlhbnQoJGNvbG9yKSB7XG5cdC50b29sdGlwLWlubmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXG5cdCYuYnMtdG9vbHRpcC10b3Age1xuXHRcdC5hcnJvdzo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdH1cblxuXHQmLmJzLXRvb2x0aXAtcmlnaHQge1xuXHRcdC5hcnJvdzo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCYuYnMtdG9vbHRpcC1ib3R0b20ge1xuXHRcdC5hcnJvdzo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdH1cblxuXHQmLmJzLXRvb2x0aXAtbGVmdCB7XG5cdFx0LmFycm93OjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdH1cbn0iLCIvKiBVc2VyIFByb2ZpbGUgKi9cbi51c2VyLXByb2ZpbGUge1xuICAuc2lkZS1sZWZ0IHtcbiAgICAuY2FyZCB7XG4gICAgICAuYXZhdGFyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgQGV4dGVuZCAubXQtNDtcbiAgICAgICAgICBAZXh0ZW5kIC5tYi0zO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZGFyayk7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2lnbmF0aW9uIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGdyYXkpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vdmVydmlldyB7XG4gICAgICAgIC5hY2hpdmVtZW50cyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAgIC8vQGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuICAgICAgICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAgICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZGFyayk7XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFib3V0LXVzZXIge1xuICAgICAgICAgIEBleHRlbmQgLm1iLTQ7XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLWxpbmtzIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud2Vic2l0ZSB7fVxuXG4gICAgICAgICAgLnNvY2lhbC1saW5rIHt9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2lkZS1yaWdodCB7fVxufSIsIi5jYWxlbmRhci1hc2lkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCA4cHg7XG4gICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgLy9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG4gICAgLy9AaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShiYWNrZ3JvdW5kKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuXG4gICAgLnVzZXItdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuY291bnQge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwcHgpO1xuICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XG4gICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkob3BhY2l0eSk7XG4gICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgICAgICAgLy9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKCRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gICAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIH1cblxuICAgICAgJi5vbmxpbmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3Ioc3VjY2Vzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vZmZsaW5lIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuICAgICAgICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgICAgICAgLy9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKCRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gICAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRhY3Rpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhY3Rpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYWN0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFjdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGxpZ2h0KTtcblxuICAgICAgLmNvdW50IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLXN0YXRpc3RpY3Mge1xuICAuY2FyZC1zdGF0aXN0aWNzLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDJyZW0gMi4yNXJlbSAycmVtIDEuNzVyZW07XG4gIH1cbn1cblxuLmNhcmQtdXBkYXRlIHtcbiAgLnVwZGF0ZS1pdGVtIHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuMik7XG4gICAgfVxuICB9XG59IiwiLmhvcml6b250YWwtdGltZWxpbmUge1xuICAudGltZS1mcmFtZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aW1lLWZyYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmV2ZW50IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmV2ZW50LXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgZWxsaXBzb3I7XG4gICAgICB9XG5cbiAgICAgIC50dW1ibmFpbC12aWV3cyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAudGh1bWJuYWlsIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ldmVudC1hbGVydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IobGlnaHQpO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICB9XG5cbiAgICAgIC5ldmVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGluZm8pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogVGltZWxpbmUgKi9cbi52ZXJ0aWNhbC10aW1lbGluZSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0d2lkdGg6IDNweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihzZWNvbmRhcnkpO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTEuNXB4O1xuXHR9XG5cblx0LnRpbWVsaW5lLXdyYXBwZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDkwcHg7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblxuXHRcdC50aW1lbGluZS1wYW5lbCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHgpO1xuXHRcdFx0Ym94LXNoYWRvdzogMXB4IDJweCAzNXB4IDAgcmdiYSgxLCAxLCAxLCAwLjEpO1xuXHRcdFx0d2lkdGg6IDM1JTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNSU7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMjdweDtcblx0XHRcdFx0cmlnaHQ6IC0xNHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGJvcmRlci10b3A6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwIHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHR9XG5cblx0XHRcdC50aW1lbGluZS10aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdH1cblxuXHRcdFx0LnRpbWVsaW5lLWJvZHkge1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0JitwIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudGltZWxpbmUtZm9vdGVyIHtcblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwLjY4NzVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50aW1lbGluZS1iYWRnZSB7XG5cdFx0XHR3aWR0aDogMTRweDtcblx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTZweDtcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gN3B4KTtcblx0XHRcdHotaW5kZXg6IDEwMDtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTAlO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuXG5cdFx0XHRpIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnRpbWVsaW5lLWludmVydGVkIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDkwcHg7XG5cblx0XHRcdC50aW1lbGluZS1wYW5lbCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE1JTtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogMDtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDE0cHg7XG5cdFx0XHRcdFx0bGVmdDogLTE0cHg7XG5cdFx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQudmVydGljYWwtdGltZWxpbmUge1xuXHRcdC50aW1lbGluZS13cmFwcGVyIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1MHB4O1xuXG5cdFx0XHQmLnRpbWVsaW5lLWludmVydGVkIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNTBweDtcblx0XHRcdH1cblxuXHRcdFx0LnRpbWVsaW5lLXBhbmVsIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcblx0LnRpbWVsaW5lLXdyYXBwZXItI3skY29sb3J9IHtcblx0XHQudGltZWxpbmUtcGFuZWwge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcigkY29sb3IpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50aW1lbGluZS1iYWRnZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcigkY29sb3IpO1xuXHRcdH1cblx0fVxufSIsIi8qIE1haWwgU2lkZWJhciAqL1xuLmVtYWlsLXdyYXBwZXIge1xuXHQubWFpbC1zaWRlYmFyIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDo3NjlweCkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHotaW5kZXg6IDk5O1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3Iod2hpdGUpO1xuXHRcdFx0d2lkdGg6IDQ1JTtcblx0XHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0XHRsZWZ0OiAtMTAwJTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dHJhbnNpdGlvbjogMC40cyBlYXNlO1xuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGVhc2U7XG5cdFx0XHQtbW96LXRyYW5zaXRpb246IDAuNHMgZWFzZTtcblx0XHR9XG5cblx0XHQubWVudS1iYXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRcdH1cblxuXHRcdFx0Lm1lbnUtaXRlbXMge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IDAuNHM7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuXHRcdFx0XHRcdC8vQGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuXHRcdFx0XHRcdC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdFx0XHQvL0BpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0XHRcdFx0XHRkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHQtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHQtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDQsIDI0OSwgMC44KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKGdyYXktbGlnaHRlc3QpO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuXG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuY29tcG9zZSB7XG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5vbmxpbmUtc3RhdHVzIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblxuXHRcdFx0XHQuY2hhdCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG5cdFx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3RhdHVzIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00M3B4KSB0cmFuc2xhdGVZKDJweCk7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTVweCAwIDAgMThweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3RhdHVzLm9mZmxpbmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiT2ZmbGluZVwiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zdGF0dXMub25saW5lIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihzdWNjZXNzKTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJPbmxpbmVcIjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnByb2ZpbGUtbGlzdCB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHRcdH1cblxuXHRcdFx0LnByb2ZpbGUtbGlzdC1pdGVtIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdFx0XHRcdHBhZGRpbmc6IDZweCAwO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZC1mbGV4O1xuXG5cdFx0XHRcdFx0LnByby1waWMge1xuXHRcdFx0XHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHRcdFx0XHQvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdFx0XHRcdC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHQtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDQwcHg7XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnVzZXIge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5mbGV4LWNvbHVtbjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAxMHB4IDAgMTVweDtcblxuXHRcdFx0XHRcdFx0LnUtbmFtZSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAlZWxsaXBzb3I7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiBjb2xvcihibGFjayk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC51LWRlc2lnbmF0aW9uIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiBjYWxjKCN7JGRlZmF1bHQtZm9udC1zaXplfSAtIDAuMXJlbSk7XG5cdFx0XHRcdFx0XHRcdEBleHRlbmQgJWVsbGlwc29yO1xuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC50ZXh0LW11dGVkO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zaWRlYmFyLm9wZW4ge1xuXHRcdGxlZnQ6IDA7XG5cdH1cbn0iLCIvKiBNYWlsIExpc3QgQ29udGFpbmVyICovXG4uZW1haWwtd3JhcHBlciB7XG5cdC5tYWlsLWxpc3QtY29udGFpbmVyIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0Lm1haWwtbGlzdCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5mb3JtLWNoZWNrIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0d2lkdGg6IDExJTtcblx0XHRcdFx0bWluLXdpZHRoOiAyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdHdpZHRoOiA4MyU7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdFx0XHQuc2VuZGVyLW5hbWUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdFx0XHRcdFx0QGV4dGVuZCAlZWxsaXBzb3I7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA5NSU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVzc2FnZV90ZXh0IHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA5MyU7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdEBleHRlbmQgLnRleHQtbXV0ZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmRldGFpbHMge1xuXHRcdFx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0XHRcdEBleHRlbmQgLmp1c3RpZnktY29udGVudC1lbmQ7XG5cdFx0XHRcdHdpZHRoOiA1LjUlO1xuXG5cdFx0XHRcdC5kYXRlIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHRAZXh0ZW5kIC50ZXh0LW11dGVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdFx0Y29sb3I6ICNkZGQ7XG5cblx0XHRcdFx0XHQmLmZhdm9yaXRlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcih3YXJuaW5nKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5uZXdfbWFpbCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGNvbG9yKGdyYXktbGlnaHRlc3QpO1xuXG5cdFx0XHRcdC5kZXRhaWxzIHtcblx0XHRcdFx0XHQuZGF0ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogY29sb3IoYmxhY2spO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIE1lc3NhZ2UgQ29udGVudCAqL1xuLmVtYWlsLXdyYXBwZXIge1xuXHQubWVzc2FnZS1ib2R5IHtcblx0XHQuc2VuZGVyLWRldGFpbHMge1xuXHRcdFx0cGFkZGluZzogMjBweCAxNXB4IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkYm9yZGVyLXByb3BlcnR5O1xuXHRcdFx0Ly8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG5cdFx0XHQvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdC5kZXRhaWxzIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHRcdFx0Lm1zZy1zdWJqZWN0IHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNlbmRlci1lbWFpbCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHR5cGUtMTtcblxuXHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMXB4IDAgN3B4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5tZXNzYWdlLWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogNTBweCAxNXB4O1xuXHRcdH1cblxuXHRcdC5hdHRhY2htZW50cy1zZWN0aW9ucyB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdGJvcmRlci10b3A6ICRib3JkZXItcHJvcGVydHk7XG5cdFx0XHRcdHBhZGRpbmc6IDMwcHggMTVweCAyMHB4O1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdFx0XHRib3JkZXI6ICRib3JkZXItcHJvcGVydHk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuXHRcdFx0XHRcdEBleHRlbmQgLmQtaW5saW5lLWZsZXg7XG5cdFx0XHRcdFx0QGV4dGVuZCAuZmxleC1yb3c7XG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24taXRlbXMtc3RyZXRjaDtcblxuXHRcdFx0XHRcdC50aHVtYiB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5kLWZsZXg7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcihkYXJrKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuZGV0YWlscyB7XG5cdFx0XHRcdFx0XHRwLmZpbGUtbmFtZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kICVlbGxpcHNvcjtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKGRhcmspO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuYnV0dG9ucyB7XG5cdFx0XHRcdFx0XHRcdEBleHRlbmQgLmQtZmxleDtcblx0XHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdC5maWxlLXNpemUge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cblx0XHRcdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIEFjZSBFZGl0b3IgKi9cbi5hY2VfZWRpdG9yIHtcblx0bWFyZ2luOiBhdXRvO1xuXHRoZWlnaHQ6IDMwMHB4O1xuXHR3aWR0aDogMTAwJTtcblxuXHQuYWNlX2NvbnRlbnQge1xuXHRcdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHR9XG59IiwiLyogQXZncnVuZCBQb3B1cCAqL1xuLmF2Z3J1bmQtcG9waW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBhZGRpbmc6IDM3cHggMzNweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHRmb250LWZhbWlseTogJHR5cGUtMTtcblx0Zm9udC13ZWlnaHQ6IGluaXRpYWw7XG5cdGxpbmUtaGVpZ2h0OiAxLjg1O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwcHgpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuXHRcdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRcdGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuXHR9XG59XG5cbi5hdmdydW5kLW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTAxO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdG9wYWNpdHk6IDA7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmF2Z3J1bmQtcmVhZHkgLmF2Z3J1bmQtb3ZlcmxheSxcbi5hdmdydW5kLXJlYWR5IC5hdmdydW5kLXBvcGluLFxuYm9keS5hdmdydW5kLXJlYWR5IHtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG5cdC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHQtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuXHQtbXMtdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDtcbn1cblxuYm9keS5hdmdydW5kLWFjdGl2ZSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hdmdydW5kLWFjdGl2ZSAuYXZncnVuZC1wb3BpbiB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdG9wYWNpdHk6IDE7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uYXZncnVuZC1hY3RpdmUgLmF2Z3J1bmQtb3ZlcmxheSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdG9wYWNpdHk6IDAuNTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcblx0aGVpZ2h0OiAyMDAwMHB4O1xufVxuXG4uYXZncnVuZC1wb3Bpbi5zdGFjayB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMS41KTtcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG59XG5cbi5hdmdydW5kLWFjdGl2ZSAuYXZncnVuZC1wb3Bpbi5zdGFjayB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5hdmdydW5kLWFjdGl2ZSAuYXZncnVuZC1ibHVyIHt9XG4vKiBPcHRpb25hbCBjbG9zZSBidXR0b24gc3R5bGVzICovXG4uYXZncnVuZC1jbG9zZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZDogJGJvZHktY29sb3I7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdGhlaWdodDogMTdweDtcblx0d2lkdGg6IDE3cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTBweCk7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59IiwiLyogQm9vdHN0cmFwIFRvdXIgKi9cbi50b3VyLXRvdXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgLnBvcG92ZXItdGl0bGUge1xuICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICR0eXBlLTE7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgfVxuXG4gICYubGVmdCB7XG4gICAgLmFycm93IHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgIC5hcnJvdyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgIC5hcnJvdyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAuYXJyb3cge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRvdXItc3RlcC1iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuY2hhcnRqcy1sZWdlbmQge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgLy9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG4gICAgLy9AaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIC8vQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICAvL0BpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDglO1xuICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ydGwgJiB7XG4gICAgdWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNoYXJ0anMtcmVuZGVyLW1vbml0b3Ige1xuICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLyogQ2hhcnRpc3QgKi9cbi8vIExpbmUgQ2hhcnRzIFN0YXJ0c1xuLy8gRGF0YSAtMVxuXG4uY3Qtc2VyaWVzLWEgLmN0LWxpbmUge1xuICBzdHJva2U6IGxpZ2h0ZW4oJGJsdWUsIDE1KTtcbiAgc3Ryb2tlLXdpZHRoOiAzcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDEwcHggMjBweDtcbn1cblxuLmN0LXNlcmllcy1hIC5jdC1wb2ludCB7XG4gIHN0cm9rZTogbGlnaHRlbigkYmx1ZSwgMSk7XG4gIHN0cm9rZS13aWR0aDogMTBweDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuLy8gRGF0YSAtMlxuXG4uY3Qtc2VyaWVzLWIgLmN0LWxpbmUge1xuICBzdHJva2U6IGxpZ2h0ZW4oJGdyZWVuLCAxNSk7XG4gIHN0cm9rZS13aWR0aDogM3B4O1xuICBzdHJva2UtZGFzaGFycmF5OiAxMHB4IDIwcHg7XG59XG5cbi5jdC1zZXJpZXMtYiAuY3QtcG9pbnQge1xuICBzdHJva2U6IGxpZ2h0ZW4oJGdyZWVuLCAxKTtcbiAgc3Ryb2tlLXdpZHRoOiAxMHB4O1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG4vLyBEYXRhIC0zXG5cbi5jdC1zZXJpZXMtYyAuY3QtbGluZSB7XG4gIHN0cm9rZTogbGlnaHRlbigkb3JhbmdlLCAxNSk7XG4gIHN0cm9rZS13aWR0aDogM3B4O1xuICBzdHJva2UtZGFzaGFycmF5OiAxMHB4IDIwcHg7XG59XG5cbi5jdC1zZXJpZXMtYyAuY3QtcG9pbnQge1xuICBzdHJva2U6IGxpZ2h0ZW4oJG9yYW5nZSwgMSk7XG4gIHN0cm9rZS13aWR0aDogMTBweDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuLy8gTGluZSBDaGFydHMgRW5kc1xuLy8gQmFyIENoYXJ0cyBTdGFydHNcbi8vIERhdGEgLTFcblxuLmN0LXNlcmllcy1hIC5jdC1iYXIge1xuICBzdHJva2U6IGxpZ2h0ZW4oJGJsdWUsIDE1KTtcbiAgc3Ryb2tlLXdpZHRoOiAyMHB4O1xuICBzdHJva2UtZGFzaGFycmF5OiAwO1xuICBzdHJva2UtbGluZWNhcDogc3F1cmU7XG59XG4vLyBEYXRhIC0yXG5cbi5jdC1zZXJpZXMtYiAuY3QtYmFyIHtcbiAgc3Ryb2tlOiBsaWdodGVuKCRncmVlbiwgMTUpO1xuICBzdHJva2Utd2lkdGg6IDIwcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gIHN0cm9rZS1saW5lY2FwOiBzcXVyZTtcbn1cbi8vIERhdGEgLTNcblxuLmN0LXNlcmllcy1jIC5jdC1iYXIge1xuICBzdHJva2U6IGxpZ2h0ZW4oJG9yYW5nZSwgMTUpO1xuICBzdHJva2Utd2lkdGg6IDIwcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gIHN0cm9rZS1saW5lY2FwOiBzcXVyZTtcbn1cbi8vIERhdGEgLTRcblxuLmN0LXNlcmllcy1kIC5jdC1iYXIge1xuICBzdHJva2U6IGxpZ2h0ZW4oJHJlZCwgMTUpO1xuICBzdHJva2Utd2lkdGg6IDIwcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gIHN0cm9rZS1saW5lY2FwOiBzcXVyZTtcbn1cbi8vIEJhciBDaGFydHMgRW5kc1xuLy8gUGllIENoYXJ0IFN0YXJ0c1xuLy8gRGF0YSAtMVxuXG4uY3Qtc2VyaWVzLWEgLmN0LXNsaWNlLXBpZSB7XG4gIGZpbGw6IGxpZ2h0ZW4oJGJsdWUsIDE1KTtcbiAgc3Ryb2tlLXdpZHRoOiA0cHg7XG59XG4vLyBEYXRhIC0yXG5cbi5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtcGllIHtcbiAgZmlsbDogbGlnaHRlbigkZ3JlZW4sIDE1KTtcbiAgc3Ryb2tlLXdpZHRoOiA0cHg7XG59XG4vLyBEYXRhIDNcblxuLmN0LXNlcmllcy1jIC5jdC1zbGljZS1waWUge1xuICBmaWxsOiBsaWdodGVuKCRyZWQsIDE1KTtcbiAgc3Ryb2tlLXdpZHRoOiA0cHg7XG59XG4vLyBEYXRhIC00XG5cbi5jdC1zZXJpZXMtZCAuY3Qtc2xpY2UtcGllIHtcbiAgZmlsbDogbGlnaHRlbigkb3JhbmdlLCAxNSk7XG4gIHN0cm9rZS13aWR0aDogNHB4O1xufVxuLy8gUGllIENoYXJ0IFN0YXJ0c1xuLy8gRG9udXQgY2hhcnQgU3RhcnRzXG4vLyBEYXRhIC0xXG5cbi5jdC1zZXJpZXMtYSAuY3Qtc2xpY2UtZG9udXQtc29saWQge1xuICBmaWxsOiBsaWdodGVuKCRibHVlLCAxNSk7XG59XG4vLyBEYXRhIC0yXG4uY3Qtc2VyaWVzLWIgLmN0LXNsaWNlLWRvbnV0LXNvbGlkIHtcbiAgZmlsbDogbGlnaHRlbigkZ3JlZW4sIDE1KTtcbn1cbi8vIERhdGEgLTNcbi5jdC1zZXJpZXMtYyAuY3Qtc2xpY2UtZG9udXQtc29saWQge1xuICBmaWxsOiBsaWdodGVuKCRyZWQsIDE1KTtcbn1cbi8vIERhdGEgLWRcbi5jdC1zZXJpZXMtYSAuY3Qtc2xpY2UtZG9udXQtc29saWQge1xuICBmaWxsOiBsaWdodGVuKCRvcmFuZ2UsIDE1KTtcbn1cbi8vIEUtY29tbWVyY2UgRGFzaGJvYXJkIENoYXJ0XG4jY3QtY2hhcnQtZGFzaC1iYXJDaGFydCB7XG4gIC8vIERhdGEgLTFcbiAgLmN0LXNlcmllcy1hIC5jdC1iYXIge1xuICAgIHN0cm9rZTogbGlnaHRlbigkcmVkLCAxMCk7XG4gICAgc3Ryb2tlLXdpZHRoOiAyMHB4O1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHNxdXJlO1xuICB9XG4gIC8vIERhdGEgLTJcbiAgLmN0LXNlcmllcy1iIC5jdC1iYXIge1xuICAgIHN0cm9rZTogbGlnaHRlbigkYmx1ZSwgMTApO1xuICAgIHN0cm9rZS13aWR0aDogMjBweDtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwO1xuICAgIHN0cm9rZS1saW5lY2FwOiBzcXVyZTtcbiAgfVxuICAvLyBEYXRhIC0zXG4gIC5jdC1zZXJpZXMtYyAuY3QtYmFyIHtcbiAgICBzdHJva2U6IGxpZ2h0ZW4oJGJsdWUsIDE1KTtcbiAgICBzdHJva2Utd2lkdGg6IDIwcHg7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMDtcbiAgICBzdHJva2UtbGluZWNhcDogc3F1cmU7XG4gIH1cbiAgLy8gRGF0YSAtNFxuICAuY3Qtc2VyaWVzLWQgLmN0LWJhciB7XG4gICAgc3Ryb2tlOiBsaWdodGVuKCRibHVlLCAyMCk7XG4gICAgc3Ryb2tlLXdpZHRoOiAyMHB4O1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHNxdXJlO1xuICB9XG59IiwiLyogQ29kZU1pcnJvciAqL1xuLkNvZGVNaXJyb3Ige1xuICBmb250LXNpemU6IDFyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLkNvZGVNaXJyb3Itc2Nyb2xse1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbn0iLCIvKiBDb2xjYWRlICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmdyaWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihncmF5LWxpZ2h0KWVzdDtcbn1cblxuLmdyaWQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uZ3JpZC1jb2wge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQ5JTtcbiAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgYmFja2dyb3VuZDogcmdiYSg3NywxOTksMTYwLDAuMik7XG59XG5cbi5ncmlkLWNvbC0tNCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIGhpZGUgdHdvIG1pZGRsZSAqL1xuLmdyaWQtY29sLS0yLFxuLmdyaWQtY29sLS0zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZC1jb2wge1xuICAgIHdpZHRoOiAzMiU7XG4gIH1cblxuICAuZ3JpZC1jb2wtLTIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5ncmlkLWNvbCB7XG4gICAgd2lkdGg6IDIzLjUlO1xuICB9XG5cbiAgLmdyaWQtY29sLS0yLFxuICAuZ3JpZC1jb2wtLTMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5ncmlkLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2IoNzcsMTk5LDE2MCk7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ncmlkLWl0ZW0tLWEge1xuICBoZWlnaHQ6IDgwcHg7XG59XG5cbi5ncmlkLWl0ZW0tLWIge1xuICBoZWlnaHQ6IDE0MHB4O1xufVxuXG4uZ3JpZC1pdGVtLS1jIHtcbiAgaGVpZ2h0OiAzMDBweDtcbn0iLCIvKiBDb2xvcnBpY2tlciAqL1xuLmFzQ29sb3JQaWNrZXItZHJvcGRvd24ge1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG59XG5cbi5hc0NvbG9yUGlja2VyLXRyaWdnZXIge1xuICBoZWlnaHQ6IGF1dG87XG4gIEBleHRlbmQgLmlucHV0LWdyb3VwLXByZXBlbmQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gIHNwYW4ge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG59XG5cbi5hc0NvbG9yUGlja2VyLWlucHV0IHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xufVxuXG4uYXNDb2xvclBpY2tlci13cmFwIHtcbiAgQGV4dGVuZCAuaW5wdXQtZ3JvdXA7XG59IiwiLyogQ29udGV4dCBNZW51ICovXG4uY29udGV4dC1tZW51LWljb24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LWZhbWlseTogXCJzaW1wbGUtbGluZS1pY29uc1wiO1xuICB9XG5cbiAgJi5jb250ZXh0LW1lbnUtaWNvbi1jdXQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlMDI0XCI7XG4gICAgfVxuICB9XG5cbiAgJi5jb250ZXh0LW1lbnUtaWNvbi1lZGl0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTA1ZlwiO1xuICAgIH1cbiAgfVxuXG4gICYuY29udGV4dC1tZW51LWljb24tY29weSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGUwNDBcIjtcbiAgICB9XG4gIH1cblxuICAmLmNvbnRleHQtbWVudS1pY29uLXBhc3RlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTA4NVwiO1xuICAgIH1cbiAgfVxuXG4gICYuY29udGV4dC1tZW51LWljb24tZGVsZXRlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTA4MlwiO1xuICAgIH1cbiAgfVxuXG4gICYuY29udGV4dC1tZW51LWljb24tcXVpdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU2MDVcIjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRleHQtbWVudS1saXN0IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAuY29udGV4dC1tZW51LWl0ZW0ge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICAgIH1cblxuICAgICYuY29udGV4dC1tZW51LWhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogQ2xvY2twaWNrZXIgKi9cbi5jbG9ja3BpY2tlci1wb3BvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuXHQmLmxlZnQge1xuXHRcdC5hcnJvdyB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRib3JkZXItY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5yaWdodCB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICRib3JkZXItY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji50b3Age1xuXHRcdC5hcnJvdyB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGJvcmRlci1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmJvdHRvbSB7XG5cdFx0LmFycm93IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogRGF0YSBUYWJsZXMgKi9cbi5kYXRhVGFibGVzX3dyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICB9XG5cbiAgLmRhdGFUYWJsZXNfbGVuZ3RoIHtcbiAgICBzZWxlY3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmRhdGFUYWJsZSB7XG5cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAuc29ydGluZyxcbiAgICAgIC5zb3J0aW5nX2FzYyxcbiAgICAgIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbiAgICAgIC5zb3J0aW5nX2Rlc2MsXG4gICAgICAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwic2ltcGxlLWxpbmUtaWNvbnNcIjtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGU2MDdcIjtcbiAgICAgICAgICByaWdodDogMS4yZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTYwNFwiO1xuICAgICAgICAgIHJpZ2h0OiAwLjJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmRhdGFUYWJsZXNfaW5mbyB7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gIH1cbn1cbiIsIi8qIERhdGVwaWNrZXIgKi9cbi5kYXRlcGlja2VyLmRhdGVwaWNrZXItZHJvcGRvd24sXG4uZGF0ZXBpY2tlci5kYXRlcGlja2VyLWlubGluZSB7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiAzMCU7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cblx0LmRhdGVwaWNrZXItZGF5cyB7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdHRhYmxlLnRhYmxlLWNvbmRlbnNlZCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0dGhlYWQge1xuXHRcdFx0XHR0ciB7XG5cdFx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtIDA7XG5cblx0XHRcdFx0XHRcdCYucHJldiB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuZGF0ZXBpY2tlci1zd2l0Y2gge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYubmV4dCB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuZG93IHtcblx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICR0eXBlLTE7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGluaXRpYWw7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IDEzcHg7XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCYuZGF5IHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtIDA7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDI4cHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiA2cHg7XG5cdFx0XHRcdFx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLnRvZGF5IHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDI4cHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAzcHggM3B4IDZweCAwIHJnYmEoMTQ3LCAxMjcsIDIwMSwgMC40Myk7XG5cdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDZweCAwIHJnYmEoMTQ3LCAxMjcsIDIwMSwgMC40Myk7XG5cdFx0XHRcdFx0XHRcdFx0LW1vei1ib3gtc2hhZG93OiAzcHggM3B4IDZweCAwIHJnYmEoMTQ3LCAxMjcsIDIwMSwgMC40Myk7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogNnB4O1xuXHRcdFx0XHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLm9sZC5kYXkge1xuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbihjb2xvcihncmF5LWxpZ2h0ZXN0KSw0LjUlKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLm5ldy5kYXkge31cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGF0ZXBpY2tlci5kYXRlcGlja2VyLWlubGluZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cblx0dGhlYWQge1xuXHRcdHRyIHtcblx0XHRcdHRoIHtcblx0XHRcdFx0Ji5wcmV2IHtcblx0XHRcdFx0XHRjb2xvcjogZ3JleTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwLjVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmRhdGVwaWNrZXItc3dpdGNoIHtcblx0XHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMC41cmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5uZXh0IHtcblx0XHRcdFx0XHRjb2xvcjogZ3JleTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwLjVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmRvdyB7fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGF0ZXBpY2tlciB7XG5cdD4gZGl2IHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHRcdHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiAjNDk1MDU3O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0fVxuXG5cdCYuaW5wdXQtZ3JvdXAge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRkcm9wZG93bi1iZztcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlci1jb2xvcjtcblx0fVxuXHQmLmRhdGVwaWNrZXItb3JpZW50LXRvcCB7XG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXHRcdH1cblx0fVxufSIsIi8qIERyb3BpZnkgKi9cbi5kcm9waWZ5LXdyYXBwZXIge1xuXHRib3JkZXI6IDJweCBkYXNoZWQgJGJvcmRlci1jb2xvcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg3cHgpO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDEzNWRlZywjRjJGN0Y4IDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLCNGMkY3RjggNTAlLCNGMkY3RjggNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywjRjJGN0Y4IDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLCNGMkY3RjggNTAlLCNGMkY3RjggNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb246IHN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xuXHRcdGFuaW1hdGlvbjogc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cblxuXHQuZHJvcGlmeS1tZXNzYWdlIHtcblx0XHRzcGFuLmZpbGUtaWNvbiB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwic2ltcGxlLWxpbmUtaWNvbnNcIjtcblx0XHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTA4NFwiO1xuXHRcdFx0XHRjb2xvcjogJGJvZHktY29sb3I7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuXHRcdFx0Y29sb3I6ICRib2R5LWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5kcm9waWZ5LXByZXZpZXcge1xuXHRcdC5kcm9waWZ5LWluZm9zIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuXG5cdFx0XHQuZHJvcGlmeS1pbmZvcy1pbm5lciB7XG5cdFx0XHRcdC5kcm9waWZ5LWZpbGVuYW1lIHtcblx0XHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZHJvcGlmeS1pbmZvcy1tZXNzYWdlIHtcblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRyb3BpZnktcmVuZGVyIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZHJvcGlmeS1jbGVhciB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogY29sb3IoZ3JheSk7XG5cdH1cbn0iLCIvKiBEcm9wem9uZSAqL1xuLmRyb3B6b25lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgaGVpZ2h0OiAyMDBweDtcblxuICAuZHotbWVzc2FnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB9XG4gIH1cbn0iLCIvKiBGbG90IGNoYXJ0ICovXG4uZmxvYXQtY2hhcnQtY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5mbG9hdC1jaGFydCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cbiIsIi8qIEZ1bGwgQ2FsZW5kYXIgKi9cbiNjYWxlbmRhciB7XG4gIC5mYy1oZWFkZXItdG9vbGJhciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDI4cHggMCA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuZmMtYnV0dG9uLWdyb3VwIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcblxuICAgICAgLmZjLWJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFweCAxMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC4zcyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXG4gICAgICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mYy1zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbih0aGVtZS1jb2xvcihwcmltYXJ5KSw1JSk7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmMtbmV4dC1idXR0b24sXG4gICAgICAgICYuZmMtcHJldi1idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyLjA2MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgICAgICByaWdodDogOXB4O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwic2ltcGxlLWxpbmUtaWNvbnNcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmMtcHJldi1idXR0b24ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlNjA1XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mYy1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGU2MDZcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmMtdG9kYXktYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxcHggMTJweDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgLy9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDAuM3MpO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cbiAgICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmMtY2VudGVyIHtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmMtdmlldy1jb250YWluZXIge1xuICAgIC5mYy12aWV3IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb250ZW50LWJnO1xuXG4gICAgICB0YWJsZSB7XG4gICAgICAgIHRoZWFkLmZjLWhlYWQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgLmZjLXdpZGdldC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgICB0aC5mYy1kYXktaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuZmMtaGVhZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y3ZjdmNztcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkuZmMtYm9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQuZmMtd2lkZ2V0LWNvbnRlbnQge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgLmZjLWRheS1ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmZjLWRheS1ncmlkIHtcbiAgICAgICAgICAgICAgICAgIC5mYy1yb3cge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZjLWJnIHtcbiAgICAgICAgICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGQuZmMtZGF5LXRvcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmZjLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mYy1oLWV2ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihzdWNjZXNzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHggNnB4IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5mYy1tb3JlLWNlbGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZmMtaGVhZGVyLXRvb2xiYXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAuZmMtbGVmdCxcbiAgICAgIC5mYy1yaWdodCxcbiAgICAgIC5mYy1jZW50ZXIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZjLWxlZnQge1xuICAgICAgICAuZmMtdG9kYXktYnV0dG9uIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mYy1yaWdodCB7XG4gICAgICAgIC5mYy1idXR0b24tZ3JvdXAge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogR29vZ2xlIENoYXJ0cyAqL1xuLmdvb2dsZS1jaGFydC1jb250YWluZXIge1xuICAuZ29vZ2xlLWNoYXJ0cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyODBweDtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbn0iLCIvKiBJY2hlY2sgKi9cbi5pY2hlY2ssXG4uaWNoZWNrLWZsYXQsXG4uaWNoZWNrLWxpbmUsXG4uaWNoZWNrLXNxdWFyZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIvKiBKcXVlcnkgRmlsZSBVcGxvYWQgKi9cbi5hamF4LXVwbG9hZC1kcmFnZHJvcCB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICBzcGFuIHtcbiAgICBiIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLmFqYXgtZmlsZS11cGxvYWQge1xuICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGluZm8pO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBleHRlbmQgLmJ0bjtcbiAgfVxufVxuXG4uYWpheC1maWxlLXVwbG9hZC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcblxuICAuYWpheC1maWxlLXVwbG9hZC1zdGF0dXNiYXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufSIsIi8qIEpzLWdyaWQgKi9cbi5qc2dyaWQge1xuXHQuanNncmlkLWJ1dHRvbiB7XG4vL1x0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ByaXRlcy9qc2dyaWQtaWNvbnMucG5nXCIpO1xuXHR9XG5cblx0LmpzZ3JpZC1ncmlkLWhlYWRlciB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItdG9wOiAwO1xuXHR9XG5cblx0LmpzZ3JpZC10YWJsZSB7XG5cdFx0QGV4dGVuZCAudGFibGU7XG5cblx0XHR0aCB7XG5cdFx0XHRmb250LXdlaWdodDogaW5pdGlhbDtcblx0XHRcdGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuXHRcdH1cblxuXHRcdC5qc2dyaWQtZmlsdGVyLXJvdyB7XG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdLFxuXHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0QGV4dGVuZCAuZm9ybS1jb250cm9sO1xuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPW51bWJlcl0ge1xuXHRcdFx0XHRAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNTZyZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuanNncmlkLWhlYWRlci1zb3J0IHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdC5qc2dyaWQtaGVhZGVyLXNvcnQtYXNjIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRib2R5LWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5qc2dyaWQtaGVhZGVyLXNvcnQtZGVzYyB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYm9keS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQuanNncmlkLXBhZ2VyIHtcblx0XHRsaW5lLWhlaWdodDogMjtcblx0XHRAZXh0ZW5kIC5wYWdpbmF0aW9uO1xuXG5cdFx0LmpzZ3JpZC1wYWdlci1uYXYtYnV0dG9uLFxuXHRcdC5qc2dyaWQtcGFnZXItcGFnZSB7XG5cdFx0XHRAZXh0ZW5kIC5wYWdlLWl0ZW07XG5cblx0XHRcdGEge1xuXHRcdFx0XHRAZXh0ZW5kIC5wYWdlLWxpbms7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmpzZ3JpZC1wYWdlci1jdXJyZW50LXBhZ2Uge1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHR9XG59IiwiLyogSnZlY3Rvcm1hcCAqL1xuLmp2ZWN0b3JtYXAtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufSIsIi8qIExpZ2h0IEdhbGxlcnkgKi9cbi5saWdodEdhbGxlcnkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuXG4gIC5pbWFnZS10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAuY29sLXhsLTM7XG4gICAgQGV4dGVuZCAuY29sLWxnLTM7XG4gICAgQGV4dGVuZCAuY29sLW1kLTM7XG4gICAgQGV4dGVuZCAuY29sLW1kLTQ7XG4gICAgQGV4dGVuZCAuY29sLTY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC5kZW1vLWdhbGxlcnktcG9zdGVyIHtcbiAgICAgIEBleHRlbmQgLmQtZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi8qIExpc3RpZnkgKi9cbi5saXN0aWZ5LWxpc3Qge1xuICBpbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBjb2xvcjogY29sb3IoZ3JheS1saWdodCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gIGJ1dHRvbiB7fVxuXG4gIHVsLmxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXByb3BlcnR5O1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuXG4gICAgICBoNSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogY29sb3IoZ3JheS1saWdodCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBOby11aS1zbGlkZXIgKi9cbi5ub1VpLXRhcmdldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAmLm5vVWktaG9yaXpvbnRhbCB7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuXG4gICAgLm5vVWktaGFuZGxlIHtcbiAgICAgIGxlZnQ6IC0xN3B4O1xuICAgIH1cbiAgfVxuXG4gICYubm9VaS12ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDAuMjVyZW07XG4gICAgaGVpZ2h0OiAxNTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAubm9VaS1oYW5kbGUge1xuICAgICAgbGVmdDogLTZweDtcbiAgICB9XG4gIH1cblxuICAubm9VaS1iYXNlIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihncmF5LWxpZ2h0ZXN0KTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIC5ub1VpLWNvbm5lY3Qge1xuICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5ub1VpLW9yaWdpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihzdWNjZXNzKTtcblxuICAgICAgLm5vVWktaGFuZGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC40cyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub1VpLXRvb2x0aXAge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZzogMTNweCAxMnB4O1xuICAgICAgICAgIGJvdHRvbTogMTkwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm9VaS1hY3RpdmUge31cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm9VaS1waXBzIHtcbiAgICAubm9VaS1tYXJrZXItaG9yaXpvbnRhbCxcbiAgICAubm9VaS1tYXJrZXItdmVydGljYWwge1xuICAgICAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAubm9VaS1tYXJrZXItaG9yaXpvbnRhbCB7XG4gICAgICBoZWlnaHQ6IDlweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLm5vVWktbWFya2VyLXZlcnRpY2FsIHtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDlweDtcbiAgICB9XG5cbiAgICAubm9VaS12YWx1ZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC1zaXplOiAwLjk0cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICR0eXBlLTE7XG4gICAgfVxuICB9XG59XG4vKiBTbGlkZXIgQ29sb3IgdmFyaWF0aW9ucyAqL1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5zbGlkZXItI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29sb3ItdmFyaWFudCgkdmFsdWUpO1xuICB9XG59IiwiLy8gU2lkZXIgY29sb3IgdmFyaWF0aW9uc1xuQG1peGluIHNsaWRlci1jb2xvci12YXJpYW50KCRjb2xvcikge1xuICAubm9VaS1iYXNlIHtcbiAgICAubm9VaS1jb25uZWN0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAubm9VaS1vcmlnaW4ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuXG4gICAgICAubm9VaS1oYW5kbGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAubm9VaS10b29sdGlwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIE93bC1jYXJvdXNlbCAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG5cbiAgJi5mdWxsLXdpZHRoIHtcbiAgICAub3dsLW5hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgLm93bC1uZXh0LFxuICAgICAgLm93bC1wcmV2IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3dsLXByZXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLm93bC1uZXh0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtZG90cyB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pdGVtLXZpZGVvIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxufSIsIi8qIFByb2dyZXNzYmFyLWpzICovXG4udWktcHJvZ3Jlc3Mge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuXG4gIHN2ZyB7XG4gICAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB9XG59XG5cbi5wcm9ncmVzc2Jhci1qcy1jaXJjbGUge1xuICB3aWR0aDogMTAwJTtcbn0iLCIvKiBQd3MtdGFicyAqL1xuLnB3c190YWJzX2NvbnRhaW5lciB7XG5cdHVsLnB3c190YWJzX2NvbnRyb2xsIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cblx0XHRsaSB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHggMCAwIDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCA1cHggMCAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjNlbSAxLjNlbTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnB3c190YWJfYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5kZW1vLXRhYnMge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCA1cHggNXB4IDVweCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihsaWdodCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDVweDtcblx0XHRwYWRkaW5nLXRvcDogMy41cmVtO1xuXG5cdFx0LkNvZGVNaXJyb3Ige1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cdH1cblx0Ly8gU3R5bGVzIGZvciB2ZXJ0aWNhbCBUYWJcblx0Ji5wd3NfdGFic192ZXJ0aWNhbCB7XG5cdFx0LnB3c190YWJzX2NvbnRyb2xsIHtcblx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCAwIDAgMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0aGVtZS1jb2xvcihwcmltYXJ5KTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIDAgNXB4KTtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly8gU3R5bGVzIGZvciB2ZXJ0aWNhbCBUYWJcblx0Ly8gU3R5bGVzIGZvciBob3Jpem9udGFsIFRhYlxuXHQmLnB3c190YWJzX2hvcml6b250YWxfYm90dG9tIHtcblx0XHQucHdzX3RhYnNfbGlzdCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5wd3NfdGFic19jb250cm9sbCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgMCA1cHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA1cHggMCk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0aGVtZS1jb2xvcihwcmltYXJ5KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYucHdzX3RhYnNfaG9yaXpvbnRhbF90b3Age1xuXHRcdC5wd3NfdGFic19jb250cm9sbHtcblx0XHRcdGJvcmRlci1ib3R0b206IDBweDtcblx0XHR9XG5cdH1cblx0Ly8gU3R5bGVzIGZvciB2ZXJ0aWNhbCBUYWJcblx0Ly8gU3R5bGVzIGZvciBSVEwgVGFiXG5cdCYucHdzX3RhYnNfcnRsIHtcblx0XHQucHdzX3RhYnNfY29udHJvbGwge1xuXHRcdFx0bGkge1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCA1cHggMCAwKTtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCAwIDAgMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8vIFN0eWxlcyBmb3IgUlRMIFRhYlxufVxuIiwiLyogUXVpbGwgRWRpdG9yICovXG4ucXVpbGwtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzMDBweDtcbn1cblxuLnFsLXRvb2xiYXIsXG4ucXVpbGwtY29udGFpbmVyIHtcbiAgJi5xbC1zbm93IHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gIH1cbn0iLCIvKiBSYXRpbmcgKi9cbi5ici10aGVtZS1jc3Mtc3RhcnMsXG4uYnItdGhlbWUtZm9udGF3ZXNvbWUtc3RhcnMge1xuICAuYnItd2lkZ2V0IHtcbiAgICBhLmJyLWFjdGl2ZSxcbiAgICBhLmJyLXNlbGVjdGVkIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoeWVsbG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJyLXRoZW1lLWJhcnMtMXRvMTAsXG4uYnItdGhlbWUtYmFycy1ob3Jpem9udGFsLFxuLmJyLXRoZW1lLWJhcnMtbW92aWUsXG4uYnItdGhlbWUtYmFycy1waWxsLFxuLmJyLXRoZW1lLWJhcnMtcmV2ZXJzZWQge1xuICAuYnItd2lkZ2V0IHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodGhlbWUtY29sb3Iod2FybmluZyksIC42KTtcbiAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcih3YXJuaW5nKTtcblxuICAgICAgJi5ici1hY3RpdmUsXG4gICAgICAmLmJyLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3Iod2FybmluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ici10aGVtZS1iYXJzLXNxdWFyZSB7XG4gIC5ici13aWRnZXQge1xuICAgIGEge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHRoZW1lLWNvbG9yKHdhcm5pbmcpLCAuNik7XG4gICAgICBjb2xvcjogcmdiYSh0aGVtZS1jb2xvcih3YXJuaW5nKSwgLjYpO1xuXG4gICAgICAmLmJyLWFjdGl2ZSxcbiAgICAgICYuYnItc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lLWNvbG9yKHdhcm5pbmcpO1xuICAgICAgICBjb2xvcjogdGhlbWUtY29sb3Iod2FybmluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ici10aGVtZS1iYXJzLTF0bzEwLFxuLmJyLXRoZW1lLWJhcnMtaG9yaXpvbnRhbCxcbi5ici10aGVtZS1iYXJzLW1vdmllLFxuLmJyLXRoZW1lLWJhcnMtcmV2ZXJzZWQge1xuICAuYnItd2lkZ2V0IHtcbiAgICAuYnItY3VycmVudC1yYXRpbmcge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuLmJyLXRoZW1lLWJhcnMtMXRvMTAge1xuICBoZWlnaHQ6IDI2cHg7XG5cbiAgLmJyLXdpZGdldCB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuXG4gICAgLmJyLWN1cnJlbnQtcmF0aW5nIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uYnItdGhlbWUtYmFycy1waWxsIHtcbiAgLmJyLXdpZGdldCB7XG4gICAgYSB7XG4gICAgICBsaW5lLWhlaWdodDogMi41O1xuICAgIH1cbiAgfVxufVxuXG4uYnItdGhlbWUtY3NzLXN0YXJzLFxuLmJyLXRoZW1lLWZvbnRhd2Vzb21lLXN0YXJzLFxuLmJyLXRoZW1lLWJhcnMtMXRvMTAsXG4uYnItdGhlbWUtYmFycy1ob3Jpem9udGFsLFxuLmJyLXRoZW1lLWJhcnMtbW92aWUsXG4uYnItdGhlbWUtYmFycy1waWxsLFxuLmJyLXRoZW1lLWJhcnMtcmV2ZXJzZWQsXG4uYnItdGhlbWUtYmFycy1zcXVhcmUge1xuICBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIvKiBTZWxlY3QyICovXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihwcmltYXJ5KTtcbiAgfVxuXG4gIC5zZWxlY3QyLWRyb3Bkb3duLFxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlLFxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg1bisxKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg1bisyKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg1biszKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGluZm8pO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg1bis0KSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDVuKzUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3Iod2FybmluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogU3VtbWVybm90ZSBFZGl0b3IgKi9cbi5ub3RlLWVkaXRvciB7XG4gICYubm90ZS1mcmFtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4ubm90ZS1wb3BvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbn0iLCIvKiBTd2VldEFsZXJ0ICovXG4uc3dhbDItY29udGFpbmVyIHtcbiAgei1pbmRleDogMTUwMDtcbn1cblxuLnN3YWwyLW1vZGFsIHtcbiAgbWluLWhlaWdodDogMzE1cHg7XG4gIEBleHRlbmQgLmQtZmxleDtcbiAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgLy9AaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgLy9AaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMHB4KTtcblxuICAuc3dhbDItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zd2FsMi1pY29uLFxuICAuc3dhbDItc3VjY2Vzcy1yaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG4gIH1cblxuICAuc3dhbDItYnV0dG9uc3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5zd2FsMi1zdHlsZWQge1xuICAgICAgQGV4dGVuZCAuYnRuO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC5zd2FsMi1jb250ZW50IHtcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJHR5cGUtMTtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IGluaXRpYWw7XG4gICAgbWFyZ2luLXRvcDogMTFweDtcbiAgfVxuXG4gIC5zd2FsMi1jbG9zZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgbGVmdDogLTMwcHg7XG4gIH1cbn1cbiIsIi8qIFN3aXRjaGVyeSAqL1xuLnN3aXRjaGVyeSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDIxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDExcHg7XG5cbiAgPiBzbWFsbCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5zd2l0Y2hlcnktc21hbGwge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAxM3B4O1xuXG4gID4gc21hbGwge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbiAgfVxufVxuXG4uc3dpdGNoZXJ5LWxhcmdlIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcblxuICA+IHNtYWxsIHtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn0iLCIvKiBUYWdzICovXG5kaXYudGFnc2lucHV0IHtcbiAgcGFkZGluZzogMTVweCAxNXB4IDEwcHg7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICBzcGFuLnRhZyB7XG4gICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgfVxuICB9XG59IiwiLyogVGlueU1DRSBFZGl0b3IgKi9cbi5tY2UtdGlueW1jZSB7XG4gICYubWNlLXBhbmVsLFxuICAubWNlLXBhbmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gIH1cbn0iLCIvKiBUb2FzdCAqL1xuLmpxLXRvYXN0LXdyYXAge1xuICAuanEtaWNvbi1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIik7XG4gIH1cblxuICAuanEtaWNvbi1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihcImluZm9cIik7XG4gIH1cblxuICAuanEtaWNvbi13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcihcIndhcm5pbmdcIik7XG4gIH1cblxuICAuanEtaWNvbi1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoXCJkYW5nZXJcIik7XG4gIH1cbn0iLCIvKiBUeXBlYWhlYWQgKi9cbi5naXN0LFxuLnR0LW1lbnUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udHdpdHRlci10eXBlYWhlYWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50dC1oaW50LFxuLnR0LXF1ZXJ5LFxuLnR5cGVhaGVhZCB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbn1cblxuLnR5cGVhaGVhZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLnR0LXF1ZXJ5IHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi50dC1oaW50IHtcbiAgY29sb3I6IGNvbG9yKGdyYXkpO1xufVxuXG4udHQtbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEycHggMDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO1xufVxuXG4udHQtc3VnZ2VzdGlvbiB7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gIH1cblxuICAudHQtY3Vyc29yIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59IiwiLyogV3lzaSBFZGl0b3IgKi9cbi53eXNpLWVkaXRvciB7XG4gICN0b29sYmFyIFtkYXRhLXd5c2lodG1sLWFjdGlvbl0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gICN0b29sYmFyLFxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDkyMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAyODBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC53eXNpaHRtbC1hY3Rpb24tYWN0aXZlLFxuICAud3lzaWh0bWwtY29tbWFuZC1hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgW2RhdGEtd3lzaWh0bWwtZGlhbG9nXSB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuICB9XG5cbiAgYVtkYXRhLXd5c2lodG1sLWNvbW1hbmQtdmFsdWU9XCJyZWRcIl0ge1xuICAgIGNvbG9yOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuICB9XG5cbiAgYVtkYXRhLXd5c2lodG1sLWNvbW1hbmQtdmFsdWU9XCJncmVlblwiXSB7XG4gICAgY29sb3I6IHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuICB9XG5cbiAgYVtkYXRhLXd5c2lodG1sLWNvbW1hbmQtdmFsdWU9XCJibHVlXCJdIHtcbiAgICBjb2xvcjogdGhlbWUtY29sb3IoaW5mbyk7XG4gIH1cblxuICAud3lzaWh0bWwtZWRpdG9yLFxuICAud3lzaWh0bWwtZWRpdG9yIHRhYmxlIHRkIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICRib3JkZXItY29sb3I7XG4gIH1cblxuICBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLnRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICB9XG5cbiAgLnRvb2xiYXIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmc6IDAgMC4yZW07XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBjb2xvcjogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gIH1cblxuICAudG9vbGJhciAud3lzaWh0bWwtYWN0aW9uLWFjdGl2ZSxcbiAgLnRvb2xiYXIgYS53eXNpaHRtbC1jb21tYW5kLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAudG9vbGJhciAuYmxvY2sge1xuICAgIHBhZGRpbmc6IDFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAwIDFweCAxcHggMDtcbiAgfVxuXG4gIGRpdltkYXRhLXd5c2lodG1sLWRpYWxvZz1cImNyZWF0ZVRhYmxlXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cblxuICBkaXZbZGF0YS13eXNpaHRtbC1kaWFsb2c9XCJjcmVhdGVUYWJsZVwiXSB0ZCB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC53eXNpaHRtbC1lZGl0b3IgdGFibGUgdGQud3lzaXd5Zy10bXAtc2VsZWN0ZWQtY2VsbCB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHRoZW1lLWNvbG9yKHN1Y2Nlc3MpO1xuICB9XG5cbiAgLmVkaXRvci1jb250YWluZXItdGFnIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xcyBsZWZ0LCAwLjFzIHRvcDtcbiAgfVxuXG4gIC53cmFwIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogNDBweDtcbiAgfVxuXG4gIC5lZGl0YWJsZSAud3lzaWh0bWwtdW5lZGl0YWJsZS1jb250YWluZXIge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgJGJvcmRlci1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWRpdGFibGUgLnd5c2lodG1sLXVuZWRpdGFibGUtY29udGFpbmVyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC5lZGl0YWJsZSAud3lzaWh0bWwtdW5lZGl0YWJsZS1jb250YWluZXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbn0iLCIvKiBYLWVkaXRhYmxlICovXG4uZWRpdGFibGUtZm9ybSB7XG4gIC5lZGl0YWJsZSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB9XG5cbiAgLmVkaXRhYmxlLWNsaWNrIHtcbiAgICBib3JkZXItY29sb3I6ICRib2R5LWNvbG9yO1xuICB9XG59XG5cbi5lZGl0YWJsZS1jb250YWluZXIge1xuICAmLmVkaXRhYmxlLWlubGluZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLmVkaXRhYmxlZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5jb250cm9sLWdyb3VwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXRhYmxlLWlucHV0IHtcbiAgICAgICAgICAvLyBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbWJvZGF0ZSB7XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0YWJsZS1idXR0b25zIHtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZWRpdGFibGUtc3VibWl0IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ0bi1pbmZvO1xuICAgICAgICAgICAgQGV4dGVuZCAuYnRuLXhzO1xuICAgICAgICAgICAgQGV4dGVuZCAubXQtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZWRpdGFibGUtY2FuY2VsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ0bi1zZWNvbmRhcnk7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idG4teHM7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tdC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIFdpemFyZCAqL1xuLndpemFyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICA+IC5zdGVwcyB7XG4gICAgLmN1cnJlbnQtaW5mbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5udW1iZXIge1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgPiB1bCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMC41ZW0gMC41ZW07XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICBmb250LWZhbWlseTogJHR5cGUtMTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAuNWVtIDAuNWVtO1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMC41ZW0gMC41ZW07XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKGdyYXktbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogY29sb3IoZ3JheSk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihncmF5LWxpZ2h0ZXN0KTtcbiAgICAgICAgICBjb2xvcjogY29sb3IoZ3JheSk7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKGdyYXktbGlnaHRlc3QpZTtcbiAgICAgICAgICBjb2xvcjogY29sb3IoZ3JheSk7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbnQge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG9uZSB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbih0aGVtZS1jb2xvcihwcmltYXJ5KSwgMjAlKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKHRoZW1lLWNvbG9yKHByaW1hcnkpLCAyMCUpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbih0aGVtZS1jb2xvcihwcmltYXJ5KSwgMjAlKTtcbiAgICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5jb250ZW50IHtcbiAgICA+IC50aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgfVxuICAgIGJhY2tncm91bmQ6ICRjb250ZW50LWJnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC41ZW07XG4gICAgbWluLWhlaWdodDogMjRlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICA+IC5ib2R5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIGhlaWdodDogOTUlO1xuICAgICAgcGFkZGluZzogMi41JTtcblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGlmcmFtZSB7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LmVycm9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1MSwgMjI3LCAyMjgpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKHRoZW1lLWNvbG9yKGRhbmdlciksIDIwJSk7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihkYW5nZXIpO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICB9XG5cbiAgICAgIGxhYmVsLmVycm9yIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKGRhbmdlcik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgPiB1bCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAwLjVlbTtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBhIHtcbiAgICAgIEBleHRlbmQgLmJ0bjtcbiAgICAgIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAuYnRuLW91dGxpbmUtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnZlcnRpY2FsIHtcbiAgICA+IC5zdGVwcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgID4gdWwge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAyLjUlIDAuNWVtO1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICA+IC5hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMCAyLjUlO1xuICAgICAgd2lkdGg6IDk1JTtcblxuICAgICAgPiB1bCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YWJjb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLnN0ZXBzIHtcbiAgICAuY3VycmVudC1pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTllbTtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiB1bCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiA1cHggMnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNXB4O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZGVjZWM7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IoZ3JheS1saWdodCk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gbGkuY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5jb250ZW50IHtcbiAgICA+IC50aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICA+IC5ib2R5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICAgIGhlaWdodDogOTUlO1xuICAgICAgcGFkZGluZzogMi41JTtcblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogQXV0aCAqL1xuLmF1dGgge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgJi5hdXRoLWJnLTEge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vdmlhLnBsYWNlaG9sZGVyLmNvbS80MDB4NDAwXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmLnJlZ2lzdGVyLWJnLTEge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vdmlhLnBsYWNlaG9sZGVyLmNvbS80MDB4NDAwXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmLnRoZW1lLW9uZSB7XG4gICAgLmF1dG8tZm9ybS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAxMHB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgYm94LXNoYWRvdzogMCAtMjVweCAzNy43cHggMTEuM3B4IHJnYmEoOCwgMTQzLCAyMjAsIDAuMDcpO1xuXG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGJvcmRlci1jb2xvciw1JSk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDZweCAwIDAgNnB4KTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciw1JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcblxuICAgICAgICAgICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgNnB4IDZweCAwKTtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsNSUpO1xuICAgICAgICAgICAgICBjb2xvcjogI2I2YjZiNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWl0LWJ0biB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0eXBlLTE7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmctbG9naW4ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAxM3B4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdXRoLWZvb3RlciB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgLy9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG4gICAgICAvL0BpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgICAgICAgLy9AaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci10ZXh0IHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgfVxuICB9XG5cbiAgJi50aGVtZS10d28ge1xuICAgIC5hdXRvLWZvcm0td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDExMHB4IDUlIDUlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHBhZGRpbmc6IDExJSAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLm5hdi1nZXQtc3RhcnRlZCB7XG4gICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgICAgLy9AaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICAvL0BpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nZXQtc3RhcnRlZC1idG4ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcblxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRib3JkZXItY29sb3IsNSUpO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDZweCA2cHggMCk7XG5cbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciw1JSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LWdyb3VwLXByZXBlbmQge1xuICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHggMCAwIDZweCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciw1JSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN1Ym1pdC1idG4ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0eXBlLTE7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDMzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXItdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmF1dGgtZm9vdGVyIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAvLyBjb21wYXNzLW1peGlucyDsoJzqsbBcbiAgICAgICAgLy9AaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR0ZXh0LW11dGVkO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAgICAgLy9AaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhbm5lci1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgIC5zbGlkZS1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5iZy0xIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNDAweDQwMFwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iZy0yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNDAweDQwMFwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sb2NrLWZ1bGwtYmcge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNDAweDQwMFwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn0iLCIvKiBFcnJvciAqL1xuLmVycm9yLXBhZ2Uge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogOS4zNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cdFx0XHRmb250LXNpemU6IDhyZW07XG5cdFx0fVxuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogNC4zNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblxuXHQuZXJyb3ItcGFnZS1kaXZpZGVyIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAzcHggc29saWQgcmdiYSgkd2hpdGUsIC4yKTtcblx0XHR9XG5cdH1cbn0iLCIucHJvZmlsZS1wYWdlIHtcbiAgLnByb2ZpbGUtaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vMTA1NXg5MlwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG5cbiAgICAucHJvZmlsZS1pbmZvIHtcbiAgICAgIC5wcm9maWxlLXVzZXItbmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdHlwZS0xO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS11c2VyLWRlc2lnbmF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0eXBlLTE7XG4gICAgICB9XG5cbiAgICAgIC5ici13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgIC5ici13aWRnZXQge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNXB4KSk7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHMge1xuICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgICAgLmRldGFpbC1jb2wge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoJGJvcmRlci1jb2xvciwwLjMpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwJTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAudGFiLXN3aXRjaCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwLjRzKTtcbiAgICAgICAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4pO1xuICAgICAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShjb2xvcixib3JkZXItY29sb3IpO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlci1jb2xvcjtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdGhlbWUtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYi1ib2R5IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgLnN0YWdlcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuc3RhZ2UtYmFkZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZS1pY29uLXdyYXBwZXIge1xuICAgICAgICAgIC8vIGNvbXBhc3MtbWl4aW5zIOygnOqxsFxuICAgICAgICAgIC8vQGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuICAgICAgICAgIC8vQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICAgICAgICAvL0BpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAuZmlsZS1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogNzdweDtcbiAgICAgICAgICAgIHdpZHRoOiA2OXB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgLy8gY29tcGFzcy1taXhpbnMg7KCc6rGwXG4gICAgICAgICAgICAvL0BpbmNsdWRlIGRpc3BsYXktZmxleDtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLy8vLy8vLy8vLyBDT0lOTkVUIFNDU1MgLy8vLy8vLy8vL1xuXG4vLyDquYDsuZgg7ZSE66as66+47JeEXG4udGFibGVfcHJlbWl1bSB7XG4gIHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZzogMC4zMjVyZW07XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgdGJvZHkgPiB0ciA+IHRkID4gZGl2IHtcbiAgICBoZWlnaHQ6MTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzI1cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICYucGx1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDM5YWZmO1xuICAgIH1cblxuICAgICYubWludXMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNWU1ZTtcbiAgICB9XG5cbiAgICAmLm91dDEge1xuICAgICAgYmFja2dyb3VuZDogI2Y1YTYyMztcbiAgICB9XG5cbiAgICAmLm91dDIge1xuICAgICAgYmFja2dyb3VuZDogIzQzOWFmZjtcbiAgICB9XG5cbiAgICAmLm91dDMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNWU1ZTtcbiAgICB9XG5cbiAgICAmLm91dDQge1xuICAgICAgYmFja2dyb3VuZDogIzQ3MjliNztcbiAgICB9XG4gIH1cbn1cblxuLy8g67KE6re4IOyeiOyeluyVhC5cbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyDrsoTqt7gg7IiY7KCVLi5cbi52ZXJ0aWNhbC10aW1lbGluZSB7XG4gIC50aW1lbGluZS13cmFwcGVyIHtcbiAgICAudGltZWxpbmUtYmFkZ2Uge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYmlkIHtcbiAgcGFkZGluZzogMS4wNXJlbSFpbXBvcnRhbnQ7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/