/*!
 * 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: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --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: #212529;
  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;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  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: .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: -.25em;
}

sup {
  top: -.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: .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: "\2014\00A0";
}

.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-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

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

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

.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.33333%;
  max-width: 33.33333%;
}

.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.66667%;
  max-width: 16.66667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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.33333%;
    max-width: 33.33333%;
  }
  .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.66667%;
    max-width: 16.66667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .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.33333%;
  }
  .offset-sm-2 {
    margin-left: 16.66667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333%;
  }
  .offset-sm-5 {
    margin-left: 41.66667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333%;
  }
  .offset-sm-8 {
    margin-left: 66.66667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333%;
  }
  .offset-sm-11 {
    margin-left: 91.66667%;
  }
}

@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.33333%;
    max-width: 33.33333%;
  }
  .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.66667%;
    max-width: 16.66667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .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.33333%;
  }
  .offset-md-2 {
    margin-left: 16.66667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333%;
  }
  .offset-md-5 {
    margin-left: 41.66667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333%;
  }
  .offset-md-8 {
    margin-left: 66.66667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333%;
  }
  .offset-md-11 {
    margin-left: 91.66667%;
  }
}

@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.33333%;
    max-width: 33.33333%;
  }
  .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.66667%;
    max-width: 16.66667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .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.33333%;
  }
  .offset-lg-2 {
    margin-left: 16.66667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333%;
  }
  .offset-lg-5 {
    margin-left: 41.66667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333%;
  }
  .offset-lg-8 {
    margin-left: 66.66667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333%;
  }
  .offset-lg-11 {
    margin-left: 91.66667%;
  }
}

@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.33333%;
    max-width: 33.33333%;
  }
  .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.66667%;
    max-width: 16.66667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .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.33333%;
  }
  .offset-xl-2 {
    margin-left: 16.66667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333%;
  }
  .offset-xl-5 {
    margin-left: 41.66667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333%;
  }
  .offset-xl-8 {
    margin-left: 66.66667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333%;
  }
  .offset-xl-11 {
    margin-left: 91.66667%;
  }
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}

.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}

.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

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

.table-bordered {
  border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}

.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: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #212529;
  background-color: rgba(0, 0, 0, 0.075);
}

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

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7abaff;
}

.table-hover .table-primary:hover {
  background-color: #9fcdff;
}

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

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

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
  background-color: #c8cbcf;
}

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

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

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}

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

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

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}

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

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

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}

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

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

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}

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

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

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}

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

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

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}

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

.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 {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.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 {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control: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::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
  appearance: none;
}

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

select.form-control: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.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

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

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

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  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.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

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

select.form-control[size], select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  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: #6c757d;
}

.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: .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, .form-control.is-valid {
  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, .form-control.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 3rem !important;
  background-position: right 1.5rem center;
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  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: .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, .form-control.is-invalid {
  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, .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 3rem !important;
  background-position: right 1.5rem center;
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  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 {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
  .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 {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  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) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: #212529;
  text-decoration: none;
}

.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.btn.disabled, .btn:disabled {
  opacity: 0.65;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}

.btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus, .btn-secondary.focus {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus, .btn-success.focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.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(72, 180, 97, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus, .btn-info.focus {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus, .btn-warning.focus {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

.btn-warning.disabled, .btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.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(222, 170, 12, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus, .btn-danger.focus {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.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(225, 83, 97, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus, .btn-light.focus {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.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(216, 217, 219, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus, .btn-dark.focus {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.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(82, 88, 93, 0.5);
}

.btn-outline-primary {
  color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  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: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.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(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  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: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.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(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  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: #17a2b8;
  border-color: #17a2b8;
}

.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(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  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: #ffc107;
  border-color: #ffc107;
}

.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(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  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: #dc3545;
  border-color: #dc3545;
}

.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(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  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: #f8f9fa;
  border-color: #f8f9fa;
}

.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(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  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: #343a40;
  border-color: #343a40;
}

.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(52, 58, 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 {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.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 rgba(0, 0, 0, 0.15);
  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 #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  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: #6c757d;
  white-space: nowrap;
}

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

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}

.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
  z-index: 1;
}

.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.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 {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

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

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}

.btn-group-toggle > .btn input[type="radio"],
.btn-group-toggle > .btn input[type="checkbox"],
.btn-group-toggle > .btn-group > .btn input[type="radio"],
.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}

.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -1px;
}

.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}

.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}

.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .custom-file {
  display: flex;
  align-items: center;
}

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .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 {
  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) > .custom-select:not(:last-child),
.input-group: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 {
  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 > .custom-select:nth-last-child(n + 3),
.input-group.has-validation > .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 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}

.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}

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

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

.input-group-text {
  display: flex;
  align-items: center;
  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;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

.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 > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

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

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group: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,
.input-group.has-validation > .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),
.input-group > .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,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend: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;
  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;
  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;
  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;
  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::-webkit-slider-thumb {
    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;
  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::-moz-range-thumb {
    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;
  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 {
    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: rgba(0, 0, 0, 0.5);
}

.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: rgba(0, 0, 0, 0.5);
  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: rgba(0, 0, 0, 0.5);
}

.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 rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}

.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 rgba(0, 0, 0, 0.125);
}

.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 rgba(0, 0, 0, 0.125);
}

.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 {
    column-count: 3;
    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.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  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: #6c757d;
}

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

.page-link {
  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 {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.page-link: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 {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
  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 {
  position: relative;
  top: -1px;
}

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

.badge-primary {
  color: #fff;
  background-color: #007bff;
}

a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}

a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}

a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}

a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #212529;
  background-color: #ffc107;
}

a.badge-warning:hover, a.badge-warning:focus {
  color: #212529;
  background-color: #d39e00;
}

a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #212529;
  background-color: #f8f9fa;
}

a.badge-light:hover, a.badge-light:focus {
  color: #212529;
  background-color: #dae0e5;
}

a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 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: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}

.alert-primary hr {
  border-top-color: #9fcdff;
}

.alert-primary .alert-link {
  color: #002752;
}

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}

.alert-secondary hr {
  border-top-color: #c8cbcf;
}

.alert-secondary .alert-link {
  color: #202326;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-success hr {
  border-top-color: #b1dfbb;
}

.alert-success .alert-link {
  color: #0b2e13;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}

.alert-info hr {
  border-top-color: #abdde5;
}

.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.alert-warning hr {
  border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
  color: #533f03;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.alert-danger hr {
  border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
  color: #491217;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-light hr {
  border-top-color: #ececf6;
}

.alert-light .alert-link {
  color: #686868;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}

.alert-dark hr {
  border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
  color: #040505;
}

@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: #004085;
  background-color: #b8daff;
}

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #004085;
  background-color: #9fcdff;
}

.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #004085;
  border-color: #004085;
}

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db;
}

.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #383d41;
  background-color: #c8cbcf;
}

.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #383d41;
  border-color: #383d41;
}

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb;
}

.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #155724;
  background-color: #b1dfbb;
}

.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #155724;
  border-color: #155724;
}

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb;
}

.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #0c5460;
  background-color: #abdde5;
}

.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #0c5460;
  border-color: #0c5460;
}

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba;
}

.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #856404;
  background-color: #ffe8a1;
}

.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #856404;
  border-color: #856404;
}

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb;
}

.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #721c24;
  background-color: #f1b0b7;
}

.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #721c24;
  border-color: #721c24;
}

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe;
}

.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #818182;
  background-color: #ececf6;
}

.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #818182;
  border-color: #818182;
}

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca;
}

.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #1b1e21;
  background-color: #b9bbbe;
}

.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:hover {
  color: #000;
  text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: .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: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  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% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  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% - 1rem);
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  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: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  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 #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

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

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

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  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: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@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.875rem;
  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: #000;
}

.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: #000;
}

.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: #000;
}

.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: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.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: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  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: rgba(0, 0, 0, 0.25);
}

.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: #fff;
}

.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: rgba(0, 0, 0, 0.25);
}

.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: #fff;
}

.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: rgba(0, 0, 0, 0.25);
}

.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: #fff;
}

.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 #f7f7f7;
}

.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: rgba(0, 0, 0, 0.25);
}

.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: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  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: .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: .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: .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: #007bff !important;
}

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

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

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

.bg-success {
  background-color: #28a745 !important;
}

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

.bg-info {
  background-color: #17a2b8 !important;
}

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

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

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

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

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

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

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

.bg-dark {
  background-color: #343a40 !important;
}

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

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

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

.border {
  border: 1px solid #dee2e6 !important;
}

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

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

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

.border-left {
  border-left: 1px solid #dee2e6 !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: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

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

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

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

.border-dark {
  border-color: #343a40 !important;
}

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

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

.rounded {
  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 {
  display: flex !important;
}

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-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.85714%;
}

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

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

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

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

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

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

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

.flex-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 {
  justify-content: flex-start !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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 {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  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 {
  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,
.mx-0 {
  margin-left: 0 !important;
}

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

.mt-1,
.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,
.my-2 {
  margin-top: 0.5rem !important;
}

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

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

.ml-2,
.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,
.my-3 {
  margin-bottom: 1rem !important;
}

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

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

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

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

.mb-4,
.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 {
  padding-right: 0.5rem !important;
}

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

.pl-2,
.px-2 {
  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,
.mx-auto {
  margin-right: auto !important;
}

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 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 {
  color: #007bff !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #0056b3 !important;
}

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

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

.text-success {
  color: #28a745 !important;
}

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

.text-info {
  color: #17a2b8 !important;
}

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

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

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

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important;
}

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

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

.text-dark {
  color: #343a40 !important;
}

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

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

.text-muted {
  color: #6c757d !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 {
    border-collapse: collapse !important;
  }
  .table td,
  .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: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/*********
 * FONTS *
 *********/
body {
  font-family: Arial, sans-serif;
}

.letter-spacing-2 {
  letter-spacing: 2px;
}

.ws-normal {
  white-space: normal;
}

.opacityhuge {
  opacity: 0.2;
}

.opacityhalf {
  opacity: 0.5;
}

.opacity-0 {
  opacity: 0;
}

.font-weight-extra-bold {
  font-weight: 800 !important;
}

.font-weight-semi-bold {
  font-weight: 600 !important;
}

@media (max-width: 575.98px) {
  .font6 {
    font-size: 0.6em;
  }
  .font17 {
    font-size: 1.2em;
  }
  .font7 {
    font-size: 0.6em;
  }
  .font18 {
    font-size: 1.2em;
  }
  .font8 {
    font-size: 0.7em;
  }
  .font19 {
    font-size: 1.3em;
  }
  .font9 {
    font-size: 0.8em;
  }
  .font20 {
    font-size: 1.4em;
  }
  .font10 {
    font-size: 0.9em;
  }
  .font22 {
    font-size: 1.5em;
  }
  .font11 {
    font-size: 1.0em;
  }
  .font24 {
    font-size: 1.7em;
  }
  .font12 {
    font-size: 1.0em;
  }
  .font26 {
    font-size: 1.8em;
  }
  .font13 {
    font-size: 1.0em;
  }
  .font28 {
    font-size: 1.9em;
  }
  .font14 {
    font-size: 1.0em;
  }
  .font30 {
    font-size: 2.0em;
  }
  .font15 {
    font-size: 1.1em;
  }
  .font35 {
    font-size: 2.3em;
  }
  .font16 {
    font-size: 1.1em;
  }
  .font40 {
    font-size: 2.6em;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .font6 {
    font-size: 0.6em;
  }
  .font17 {
    font-size: 1.2em;
  }
  .font7 {
    font-size: 0.7em;
  }
  .font18 {
    font-size: 1.3em;
  }
  .font8 {
    font-size: 0.8em;
  }
  .font19 {
    font-size: 1.4em;
  }
  .font9 {
    font-size: 0.9em;
  }
  .font20 {
    font-size: 1.4em;
  }
  .font10 {
    font-size: 0.9em;
  }
  .font22 {
    font-size: 1.6em;
  }
  .font11 {
    font-size: 1.0em;
  }
  .font24 {
    font-size: 1.7em;
  }
  .font12 {
    font-size: 1.0em;
  }
  .font26 {
    font-size: 1.9em;
  }
  .font13 {
    font-size: 1.0em;
  }
  .font28 {
    font-size: 2.1em;
  }
  .font14 {
    font-size: 1.0em;
  }
  .font30 {
    font-size: 2.3em;
  }
  .font15 {
    font-size: 1.1em;
  }
  .font35 {
    font-size: 2.6em;
  }
  .font16 {
    font-size: 1.2em;
  }
  .font40 {
    font-size: 3.0em;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .font6 {
    font-size: 0.6em;
  }
  .font17 {
    font-size: 1.4em;
  }
  .font7 {
    font-size: 0.7em;
  }
  .font18 {
    font-size: 1.5em;
  }
  .font8 {
    font-size: 0.8em;
  }
  .font19 {
    font-size: 1.6em;
  }
  .font9 {
    font-size: 0.9em;
  }
  .font20 {
    font-size: 1.7em;
  }
  .font10 {
    font-size: 0.9em;
  }
  .font22 {
    font-size: 1.8em;
  }
  .font11 {
    font-size: 1.0em;
  }
  .font24 {
    font-size: 2.0em;
  }
  .font12 {
    font-size: 1.0em;
  }
  .font26 {
    font-size: 2.2em;
  }
  .font13 {
    font-size: 1.1em;
  }
  .font28 {
    font-size: 2.4em;
  }
  .font14 {
    font-size: 1.2em;
  }
  .font30 {
    font-size: 2.6em;
  }
  .font15 {
    font-size: 1.3em;
  }
  .font35 {
    font-size: 2.9em;
  }
  .font16 {
    font-size: 1.4em;
  }
  .font40 {
    font-size: 3.4em;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .font6 {
    font-size: 0.6em;
  }
  .font17 {
    font-size: 1.6em;
  }
  .font7 {
    font-size: 0.7em;
  }
  .font18 {
    font-size: 1.7em;
  }
  .font8 {
    font-size: 0.8em;
  }
  .font19 {
    font-size: 1.8em;
  }
  .font9 {
    font-size: 0.9em;
  }
  .font20 {
    font-size: 1.9em;
  }
  .font10 {
    font-size: 1.0em;
  }
  .font22 {
    font-size: 2.0em;
  }
  .font11 {
    font-size: 1.0em;
  }
  .font24 {
    font-size: 2.2em;
  }
  .font12 {
    font-size: 1.1em;
  }
  .font26 {
    font-size: 2.4em;
  }
  .font13 {
    font-size: 1.2em;
  }
  .font28 {
    font-size: 2.6em;
  }
  .font14 {
    font-size: 1.3em;
  }
  .font30 {
    font-size: 2.8em;
  }
  .font15 {
    font-size: 1.4em;
  }
  .font35 {
    font-size: 3.2em;
  }
  .font16 {
    font-size: 1.5em;
  }
  .font40 {
    font-size: 3.7em;
  }
}

@media (min-width: 1200px) {
  .font6 {
    font-size: 0.6em;
  }
  .font17 {
    font-size: 1.7em;
  }
  .font7 {
    font-size: 0.7em;
  }
  .font18 {
    font-size: 1.8em;
  }
  .font8 {
    font-size: 0.8em;
  }
  .font19 {
    font-size: 1.9em;
  }
  .font9 {
    font-size: 0.9em;
  }
  .font20 {
    font-size: 2.0em;
  }
  .font10 {
    font-size: 1.0em;
  }
  .font22 {
    font-size: 2.2em;
  }
  .font11 {
    font-size: 1.1em;
  }
  .font24 {
    font-size: 2.4em;
  }
  .font12 {
    font-size: 1.2em;
  }
  .font26 {
    font-size: 2.6em;
  }
  .font13 {
    font-size: 1.3em;
  }
  .font28 {
    font-size: 2.8em;
  }
  .font14 {
    font-size: 1.4em;
  }
  .font30 {
    font-size: 3.0em;
  }
  .font15 {
    font-size: 1.5em;
  }
  .font35 {
    font-size: 3.5em;
  }
  .font16 {
    font-size: 1.6em;
  }
  .font40 {
    font-size: 4.0em;
  }
}

/**********
 * Colors *
 **********/
body {
  background-color: #FFF;
}

.bg-wrapper {
  background: white;
  background: -moz-linear-gradient(top, white 0%, rgba(255, 255, 255, 0.99) 15%, rgba(203, 232, 232, 0.9) 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, white), color-stop(15%, rgba(255, 255, 255, 0.99)), color-stop(100%, rgba(203, 232, 232, 0.9)));
  background: -webkit-linear-gradient(top, white 0%, rgba(255, 255, 255, 0.99) 15%, rgba(203, 232, 232, 0.9) 100%);
  background: -o-linear-gradient(top, white 0%, rgba(255, 255, 255, 0.99) 15%, rgba(203, 232, 232, 0.9) 100%);
  background: -ms-linear-gradient(top, white 0%, rgba(255, 255, 255, 0.99) 15%, rgba(203, 232, 232, 0.9) 100%);
  background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0.99) 15%, rgba(203, 232, 232, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cbe8e8', GradientType=0 );
  border-radius: 0px 0px 200px 200px;
  -moz-border-radius: 0px 0px 200px 200px;
  -webkit-border-radius: 0px 0px 200px 200px;
}

.wekiwi-color {
  color: #ffb40a;
}

.wekiwi-bg-color {
  background-color: #ffb40a;
}

.eni-color {
  color: #181818;
}

.eni-bg-color {
  background-color: #181818;
}

.cyan {
  color: #36dda9;
}

.bg-cyan {
  background-color: #36dda9 !important;
}

.bg-primary {
  background-color: #36dda9 !important;
}

.purple {
  color: #614d8d;
}

.lightpurple {
  color: #8376a0;
}

.bg-purple {
  background-color: #614d8d !important;
}

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

.red {
  color: #e8464e;
}

.bg-red {
  background-color: #e8464e !important;
}

.bg-red-opacity {
  background-color: rgba(232, 70, 78, 0.7) !important;
}

.blue {
  color: #1079bf;
}

.bg-blue {
  background-color: #1079bf !important;
}

.yellow {
  color: #ffc31e;
}

.bg-yellow {
  background-color: #ffc31e !important;
}

.bg-lightyellow {
  background-color: #fae9bb !important;
}

.grey {
  color: #c8c8c8;
}

.bg-grey {
  background-color: #c8c8c8 !important;
}

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

.diamond {
  color: black;
}

.bg-diamond {
  background-color: black !important;
}

.platinum {
  color: #dc0a1d;
}

.bg-platinum {
  background-color: #dc0a1d !important;
}

.gold {
  color: #fad019;
}

.bg-gold {
  background-color: #fad019 !important;
}

.silver {
  color: #b8bcb8;
}

.bg-silver {
  background-color: #b8bcb8 !important;
}

.bronze {
  color: #b48450;
}

.bg-bronze {
  background-color: #b48450 !important;
}

.novice {
  color: white;
}

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

.black {
  color: black;
}

.bg-black {
  background-color: black;
}

.white {
  color: white;
}

.bg-white {
  background-color: white;
}

.orange {
  color: #ff9900;
}

.bg-orange {
  background-color: #ff9900;
}

.green {
  color: #84c806;
}

.bg-green {
  background-color: #84c806;
}

.darkgreen {
  color: #008111;
}

.bg-darkgreen {
  background-color: #008111;
}

.pink {
  color: #d34a91;
}

.bg-pink {
  background-color: #d34a91;
}

.darkgrey {
  color: #505050;
}

.bg-darkgrey {
  background-color: #505050;
}

.bg-transparent {
  background-color: rgba(255, 255, 255, 0);
}

hr {
  background-color: rgba(200, 200, 200, 0.5) !important;
  height: 1px;
  border: 0;
}

hr.hr-primary {
  background-color: rgba(54, 221, 169, 0.5) !important;
  height: 1px;
  border: 0;
}

hr.hr-secondary {
  background-color: rgba(97, 77, 141, 0.5) !important;
  height: 1px;
  border: 0;
}

hr.hr-white {
  background-color: rgba(255, 255, 255, 0.8) !important;
  height: 1px;
  border: 0;
}

/***********
 * Buttons *
 ***********/
.btn-primary {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
  white-space: normal;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #614d8d;
  border-color: #614d8d;
  color: white;
}

.btn-secondary {
  background-color: #614d8d;
  border-color: #614d8d;
  color: white;
  white-space: normal;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
}

.btn-info {
  background-color: #c8c8c8;
  border-color: #c8c8c8;
  color: #282828;
  white-space: normal;
}

.btn-info:hover, .btn-info:focus, .btn-info:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
}

.btn-blue {
  background-color: #1079bf;
  border-color: #1079bf;
  color: white;
  white-space: normal;
}

.btn-blue:hover, .btn-blue:focus, .btn-blue:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
}

.btn-red {
  background-color: #e8464e;
  border-color: #e8464e;
  color: white;
  white-space: normal;
}

.btn-red:hover, .btn-red:focus, .btn-red:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
}

.btn-yellow {
  background-color: #ffc31e;
  border-color: #ffc31e;
  color: #585858;
  white-space: normal;
}

.btn-yellow:hover, .btn-yellow:focus, .btn-yellow:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: white;
}

.btn-lighter {
  background-color: #dfe4e4;
  border-color: #dfe4e4;
  color: #614d8d;
  white-space: normal;
}

.btn-lighter:hover, .btn-lighter:focus, .btn-lighter:active {
  background-color: #36dda9;
  border-color: #36dda9;
  color: #614d8d;
}

/**********
 * Alerts *
 **********/
.alert-primary {
  background-color: rgba(54, 221, 169, 0.4);
  border-color: rgba(54, 221, 169, 0.5);
}

.alert-secondary {
  background-color: rgba(97, 77, 141, 0.4);
  border-color: rgba(97, 77, 141, 0.5);
}

.alert-info {
  background-color: rgba(200, 200, 200, 0.4);
  border-color: rgba(200, 200, 200, 0.5);
}

.alert-blue {
  background-color: rgba(16, 121, 191, 0.4);
  border-color: rgba(16, 121, 191, 0.5);
}

.alert-red {
  background-color: rgba(232, 70, 78, 0.4);
  border-color: rgba(232, 70, 78, 0.5);
}

.alert-yellow {
  background-color: rgba(255, 195, 30, 0.4);
  border-color: rgba(255, 195, 30, 0.5);
}

/***********
 * Borders *
 ***********/
.border-primary {
  border: 0.5em solid #36dda9 !important;
}

.border-secondary {
  border: 0.5em solid #614d8d !important;
}

.border-info {
  border: 0.5em solid #c8c8c8 !important;
}

.border-red {
  border: 0.5em solid #e8464e !important;
}

.border-blue {
  border: 0.5em solid #1079bf !important;
}

.border-yellow {
  border: 0.5em solid #ffc31e !important;
}

.border-white {
  border: 0.5em solid white !important;
}

.border-black {
  border: 0.5em solid black !important;
}

.small-border-black {
  border: 0.2em solid black !important;
}

.small-border-white {
  border: 0.2em solid white !important;
}

.small-border-primary {
  border: 0.2em solid #36dda9 !important;
}

.small-border-secondary {
  border: 0.2em solid #614d8d !important;
}

.small-border-yellow {
  border: 0.2em solid #ffc31e !important;
}

/**********
 * Badges *
 **********/
.badge-primary {
  background-color: #36dda9 !important;
  border-color: #36dda9;
  color: white;
}

.badge-secondary {
  background-color: #614d8d !important;
  border-color: #614d8d;
  color: white;
}

.badge-info {
  background-color: #c8c8c8 !important;
  border-color: #c8c8c8;
  color: white;
}

.badge-red {
  background-color: #e8464e !important;
  border-color: #e8464e;
  color: white;
}

.badge-blue {
  background-color: #1079bf !important;
  border-color: #1079bf;
  color: white;
}

.badge-yellow {
  background-color: #ffc31e !important;
  border-color: #ffc31e;
  color: black;
}

/**********
 * Levels *
 **********/
.level-1-alert-color {
  background-color: rgba(50, 50, 50, 0.4);
  border-color: rgba(50, 50, 50, 0.5);
}

.level-2-alert-color {
  background-color: rgba(214, 12, 22, 0.4);
  border-color: rgba(214, 12, 22, 0.5);
}

.level-3-alert-color {
  background-color: rgba(255, 195, 30, 0.4);
  border-color: rgba(255, 195, 30, 0.5);
}

.level-4-alert-color {
  background-color: rgba(200, 200, 200, 0.4);
  border-color: rgba(200, 200, 200, 0.5);
}

.level-5-alert-color {
  background-color: rgba(209, 148, 89, 0.4);
  border-color: rgba(209, 148, 89, 0.5);
}

.level-6-alert-color {
  background-color: rgba(250, 250, 250, 0.4);
  border-color: rgba(180, 180, 180, 0.5);
}

/*********
 * Links *
 *********/
a.link-primary {
  color: inherit;
}

a.link-primary:hover, a.link-primary:focus, a.link-primary:active {
  color: #36dda9 !important;
}

a.nav-dashboard-link:hover, a.nav-dashboard-link:focus, a.nav-dashboard-link:active {
  border-radius: 10px;
  background-color: rgba(97, 77, 141, 0.5) !important;
}

a.dropdown-item:hover, a.dropdown-item:focus, a.dropdown-item:active {
  background-color: rgba(200, 200, 200, 0.7);
}

a > div.link-pulse:hover, a > div.link-pulse:focus, a > div.link-pulse:active {
  -webkit-animation: pulse 1s;
  animation: pulse 1s;
}

a:hover > .dashboard-case {
  background-color: #e6e6e6 !important;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
}

a:hover > .dashboard-case.disabled {
  background-color: #c8c8c8 !important;
}

a:hover > .dashboard-case.current-profile {
  background-color: #36dda9 !important;
}

a:hover > .dashboard-case.current-profile-switcheur {
  background-color: #614d8d !important;
}

a:hover > .dashboard-case.current-profile-agreement {
  background-color: #1079bf !important;
}

a:hover > .dashboard-case.current-profile-credentials {
  background-color: #ffc31e !important;
}

a:hover > .dashboard-case.current-profile-retracted {
  background-color: #e8464e !important;
}

a:hover > .dashboard-case.admin-case {
  background-color: #969696 !important;
}

.dashboard-case.current-profile-user {
  background-color: #36dda9 !important;
}

.dashboard-case.current-profile-switcheur {
  background-color: #614d8d !important;
}

.dashboard-case.current-profile-agreement {
  background-color: #1079bf !important;
}

.dashboard-case.current-profile-credentials {
  background-color: #ffc31e !important;
}

.dashboard-case.current-profile-retracted {
  background-color: #e8464e !important;
}

a.tabs-link#profile-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border: 0.5px solid rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#profile-tab.active {
  background-color: #36dda9;
  color: white;
}

a.tabs-link#switcheur-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border-color: rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#switcheur-tab.active {
  background-color: #614d8d;
  color: white;
}

a.tabs-link#infos-tab, a.tabs-link#base-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border: 0.5px solid rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#infos-tab.active, a.tabs-link#base-tab.active {
  background-color: #505050;
  color: white;
}

a.tabs-link#docs-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border: 0.5px solid rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#docs-tab.active {
  background-color: #1079bf;
  color: white;
}

a.tabs-link#agreement-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border: 0.5px solid rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#agreement-tab.active {
  background-color: #e8464e;
  color: white;
}

a.tabs-link#payment-tab {
  background-color: rgba(200, 200, 200, 0.4);
  border: 0.5px solid rgba(200, 200, 200, 0.4);
  color: black;
}

a.tabs-link#payment-tab.active {
  background-color: #ffc31e;
  color: black;
}

a:hover > .provider-case {
  background-color: rgba(97, 77, 141, 0.5) !important;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
}

/***********
 * Borders *
 ***********/
.border-light {
  border: 3px solid #FFF !important;
}

/***********
 * Tooltip *
 ***********/
.tooltip .tooltip-inner {
  color: white;
  background-color: rgba(97, 77, 141, 0.9);
  border: 1px solid #614d8d;
}

.tooltip .tooltip.bs-tooltip-top .arrow:before, .tooltip .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow:before {
  border-top-color: #614d8d;
}

.tooltip .tooltip.bs-tooltip-right .arrow:before, .tooltip .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow:before {
  border-right-color: #614d8d;
}

.tooltip .tooltip.bs-tooltip-bottom .arrow:before, .tooltip .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow:before {
  border-bottom-color: #614d8d;
}

.tooltip .tooltip.bs-tooltip-left .arrow:before, .tooltip .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow:before {
  border-left-color: #614d8d;
}

#tablesBase {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
  width: 100% !important;
}

#tablesBase thead input {
  width: 100% !important;
}

#tablesBase thead {
  background-color: white;
  color: #614d8d;
}

#tablesBase tbody tr.even:hover, #tablesBase tbody tr.even td.highlighted {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tbody tr.odd:hover, #tablesBase tbody tr.odd td.highlighted {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.even:hover {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.even:hover td.sorting_1 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.even:hover td.sorting_2 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.even:hover td.sorting_3 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.odd:hover {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.odd:hover td.sorting_1 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.odd:hover td.sorting_2 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesBase tr.odd:hover td.sorting_3 {
  background-color: rgba(255, 255, 255, 0.4);
  color: #282828;
}

#tablesPrimary {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesPrimary thead input {
  width: 100% !important;
}

#tablesPrimary thead {
  background-color: #36dda9;
  color: #614d8d;
}

#tablesPrimary tbody tr.even:hover, #tablesPrimary tbody tr.even td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tbody tr.odd:hover, #tablesPrimary tbody tr.odd td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.even:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.even:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.even:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.even:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.odd:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.odd:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.odd:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesPrimary tr.odd:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesSecondary {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesSecondary thead input {
  width: 100% !important;
}

#tablesSecondary thead {
  background-color: #614d8d;
  color: white;
}

#tablesSecondary tbody tr.even:hover, #tablesSecondary tbody tr.even td.highlighted {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tbody tr.odd:hover, #tablesSecondary tbody tr.odd td.highlighted {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.even:hover {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.even:hover td.sorting_1 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.even:hover td.sorting_2 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.even:hover td.sorting_3 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.odd:hover {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.odd:hover td.sorting_1 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.odd:hover td.sorting_2 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesSecondary tr.odd:hover td.sorting_3 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesInfo {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
  width: 100% !important;
}

#tablesInfo thead input {
  width: 100% !important;
}

#tablesInfo thead {
  background-color: #c8c8c8;
  color: #614d8d;
}

#tablesInfo tbody tr.even:hover, #tablesInfo tbody tr.even td.highlighted {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tbody tr.odd:hover, #tablesInfo tbody tr.odd td.highlighted {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.even:hover {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.even:hover td.sorting_1 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.even:hover td.sorting_2 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.even:hover td.sorting_3 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.odd:hover {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.odd:hover td.sorting_1 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.odd:hover td.sorting_2 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesInfo tr.odd:hover td.sorting_3 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesBlue {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
  width: 100% !important;
}

#tablesBlue thead input {
  width: 100% !important;
}

#tablesBlue thead {
  background-color: #1079bf;
  color: white;
}

#tablesBlue tbody tr.even:hover, #tablesBlue tbody tr.even td.highlighted {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tbody tr.odd:hover, #tablesBlue tbody tr.odd td.highlighted {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.even:hover {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.even:hover td.sorting_1 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.even:hover td.sorting_2 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.even:hover td.sorting_3 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.odd:hover {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.odd:hover td.sorting_1 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.odd:hover td.sorting_2 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesBlue tr.odd:hover td.sorting_3 {
  background-color: rgba(16, 121, 191, 0.1);
  color: #282828;
}

#tablesRed {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesRed thead input {
  width: 100% !important;
}

#tablesRed thead {
  background-color: #e8464e;
  color: white;
}

#tablesRed tbody tr.even:hover, #tablesRed tbody tr.even td.highlighted {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tbody tr.odd:hover, #tablesRed tbody tr.odd td.highlighted {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.even:hover {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.even:hover td.sorting_1 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.even:hover td.sorting_2 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.even:hover td.sorting_3 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.odd:hover {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.odd:hover td.sorting_1 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.odd:hover td.sorting_2 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesRed tr.odd:hover td.sorting_3 {
  background-color: rgba(232, 70, 78, 0.2);
  color: #282828;
}

#tablesYellow {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesYellow thead input {
  width: 100% !important;
}

#tablesYellow thead {
  background-color: #ffc31e;
  color: #282828;
}

#tablesYellow tbody tr.even:hover, #tablesYellow tbody tr.even td.highlighted {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tbody tr.odd:hover, #tablesYellow tbody tr.odd td.highlighted {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.even:hover {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.even:hover td.sorting_1 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.even:hover td.sorting_2 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.even:hover td.sorting_3 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.odd:hover {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.odd:hover td.sorting_1 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.odd:hover td.sorting_2 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesYellow tr.odd:hover td.sorting_3 {
  background-color: rgba(255, 195, 30, 0.2);
  color: #282828;
}

#tablesUsers {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesUsers thead input {
  width: 100% !important;
}

#tablesUsers thead {
  background-color: #36dda9;
  color: #614d8d;
}

#tablesUsers tbody tr.even:hover, #tablesUsers tbody tr.even td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tbody tr.odd:hover, #tablesUsers tbody tr.odd td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.even:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.even:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.even:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.even:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.odd:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.odd:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.odd:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesUsers tr.odd:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesNews {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesNews thead input {
  width: 100% !important;
}

#tablesNews thead {
  background-color: #614d8d;
  color: white;
}

#tablesNews tbody tr.even:hover, #tablesNews tbody tr.even td.highlighted {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tbody tr.odd:hover, #tablesNews tbody tr.odd td.highlighted {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.even:hover {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.even:hover td.sorting_1 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.even:hover td.sorting_2 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.even:hover td.sorting_3 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.odd:hover {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.odd:hover td.sorting_1 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.odd:hover td.sorting_2 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesNews tr.odd:hover td.sorting_3 {
  background-color: rgba(97, 77, 141, 0.2);
  color: #282828;
}

#tablesCustomers {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
  width: 100% !important;
}

#tablesCustomers thead input {
  width: 100% !important;
}

#tablesCustomers thead {
  background-color: #36dda9;
  color: #614d8d;
}

#tablesCustomers tbody tr.even:hover, #tablesCustomers tbody tr.even td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tbody tr.odd:hover, #tablesCustomers tbody tr.odd td.highlighted {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.even:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.even:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.even:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.even:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.odd:hover {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.odd:hover td.sorting_1 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.odd:hover td.sorting_2 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesCustomers tr.odd:hover td.sorting_3 {
  background-color: rgba(54, 221, 169, 0.2);
  color: #282828;
}

#tablesImports {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
  width: 100% !important;
}

#tablesImports thead input {
  width: 100% !important;
}

#tablesImports thead {
  background-color: #c8c8c8;
  color: #614d8d;
}

#tablesImports tbody tr.even:hover, #tablesImports tbody tr.even td.highlighted {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tbody tr.odd:hover, #tablesImports tbody tr.odd td.highlighted {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.even:hover {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.even:hover td.sorting_1 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.even:hover td.sorting_2 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.even:hover td.sorting_3 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.odd:hover {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.odd:hover td.sorting_1 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.odd:hover td.sorting_2 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

#tablesImports tr.odd:hover td.sorting_3 {
  background-color: rgba(200, 200, 200, 0.3);
  color: #282828;
}

/****************************
 * Target Range Slider Form *
 ****************************/
#target-range-slider-switch-01,
#target-range-slider-switch-02,
#target-range-slider-switch-03,
#target-range-slider-switch-04,
#target-range-slider-switch-05,
#target-range-slider-switch-06,
#target-range-slider-switch-07,
#target-range-slider-switch-99,
#target-range-slider-other-01,
#target-range-slider-other-02,
#target-range-slider-other-03,
#target-range-slider-other-04,
#target-range-slider-other-05,
#target-range-slider-other-06,
#target-range-slider-other-07,
#target-range-slider-other-08,
#target-range-slider-other-99,
#target-range-slider-dayworking,
#target-range-slider-retractrate {
  width: 100%;
}

#target-range-slider-switch-01 .slider-track,
#target-range-slider-switch-02 .slider-track,
#target-range-slider-switch-03 .slider-track,
#target-range-slider-switch-04 .slider-track,
#target-range-slider-switch-05 .slider-track,
#target-range-slider-switch-06 .slider-track,
#target-range-slider-switch-07 .slider-track,
#target-range-slider-switch-99 .slider-track {
  background: #c8c8c8 !important;
}

#target-range-slider-other-01 .slider-track,
#target-range-slider-other-02 .slider-track,
#target-range-slider-other-03 .slider-track,
#target-range-slider-other-04 .slider-track,
#target-range-slider-other-05 .slider-track,
#target-range-slider-other-06 .slider-track,
#target-range-slider-other-07 .slider-track,
#target-range-slider-other-08 .slider-track,
#target-range-slider-other-99 .slider-track {
  background: white !important;
}

#target-range-slider-switch-01 .slider-handle,
#target-range-slider-switch-02 .slider-handle,
#target-range-slider-switch-03 .slider-handle,
#target-range-slider-switch-04 .slider-handle,
#target-range-slider-switch-05 .slider-handle,
#target-range-slider-switch-06 .slider-handle,
#target-range-slider-switch-07 .slider-handle,
#target-range-slider-switch-99 .slider-handle,
#target-range-slider-other-01 .slider-handle,
#target-range-slider-other-02 .slider-handle,
#target-range-slider-other-03 .slider-handle,
#target-range-slider-other-04 .slider-handle,
#target-range-slider-other-05 .slider-handle,
#target-range-slider-other-06 .slider-handle,
#target-range-slider-other-07 .slider-handle,
#target-range-slider-other-08 .slider-handle,
#target-range-slider-other-99 .slider-handle,
#target-range-slider-dayworking .slider-handle,
#target-range-slider-retractrate .slider-handle {
  background: #614d8d !important;
}

#target-range-slider-switch-01 .slider-selection,
#target-range-slider-switch-02 .slider-selection,
#target-range-slider-switch-03 .slider-selection,
#target-range-slider-switch-04 .slider-selection,
#target-range-slider-switch-05 .slider-selection,
#target-range-slider-switch-06 .slider-selection,
#target-range-slider-switch-07 .slider-selection,
#target-range-slider-switch-99 .slider-selection,
#target-range-slider-other-01 .slider-selection,
#target-range-slider-other-02 .slider-selection,
#target-range-slider-other-03 .slider-selection,
#target-range-slider-other-04 .slider-selection,
#target-range-slider-other-05 .slider-selection,
#target-range-slider-other-06 .slider-selection,
#target-range-slider-other-07 .slider-selection,
#target-range-slider-other-08 .slider-selection,
#target-range-slider-other-99 .slider-selection {
  background: #614d8d !important;
}

#target-range-slider-dayworking .slider-tick.in-selection,
#target-range-slider-retractrate .slider-tick.in-selection {
  background: #614d8d !important;
}

#target-range-slider-dayworking .slider-rangeHighlight.dayWorkingLow {
  background: #e8464e !important;
}

#target-range-slider-dayworking .slider-rangeHighlight.dayWorkingMid {
  background: #ffc31e !important;
}

#target-range-slider-dayworking .slider-rangeHighlight.dayWorkingHigh {
  background: #84c806 !important;
}

#target-range-slider-retractrate .slider-rangeHighlight.retractRateLow {
  background: #84c806 !important;
}

#target-range-slider-retractrate .slider-rangeHighlight.retractRateMid {
  background: #ffc31e !important;
}

#target-range-slider-retractrate .slider-rangeHighlight.retractRateHigh {
  background: #e8464e !important;
}

/***********************
 * Target Table Result *
 ***********************/
.table.table-target td, .table.table-target th {
  border-color: #614d8d;
}

.pagination > li > a {
  background-color: white;
  color: #614d8d;
}

.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
  color: #614d8d;
  background-color: #36dda9;
  border-color: #36dda9;
}

.pagination > .active > a {
  color: white;
  background-color: #614d8d !important;
  border: solid 1px #614d8d !important;
}

.pagination > .active > a:hover {
  background-color: #614d8d !important;
  border: solid 1px #614d8d;
}

html {
  scroll-behavior: smooth;
}

.checkbox-1x {
  transform: scale(1.5);
  -webkit-transform: scale(1.5);
}

.radius10 {
  border-radius: 10px;
}

.radius20 {
  border-radius: 20px;
}

a:hover, a:focus, a:active {
  text-decoration: none;
}

*:focus {
  outline: none;
}

.custom-file-label::after {
  content: "Importer" !important;
}

/*******
* Base *
********/
.title-icon {
  max-width: 100%;
  max-height: 30px;
}

.tiny-icon {
  max-width: 100%;
  max-height: 20px;
}

.chars {
  max-width: 100%;
  max-height: 150px;
}

.chars.chars-tiny {
  max-height: 25px;
}

.chars.chars-verysmall {
  max-height: 40px;
}

.chars.chars-small {
  max-height: 80px;
}

.chars.chars-mid {
  max-height: 110px;
}

/********
* Video *
*********/
.video-js {
  max-width: 100%;
  height: 340px;
  border-color: #614d8d !important;
  border: none !important;
  box-shadow: none !important;
}

.vjs-big-play-button {
  background-color: #614d8d !important;
  border-color: #614d8d !important;
}

/********
* Admin *
*********/
.img-switcheur-photo-mini {
  max-width: 100%;
  max-height: 50px;
  object-fit: cover;
}

.img-switcheur-photo-default-mini {
  width: 50px;
  height: 50px;
  object-fit: cover;
}

.img-switcheur-photo-mid {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.img-switcheur-photo {
  width: 150px;
  height: 150px;
  object-fit: cover;
}

.img-logo-admin {
  max-width: 100%;
  max-height: 100px;
}

.img-logo-admin-small {
  max-width: 100%;
  max-height: 70px;
}

.img-logo-admin-tiny {
  max-width: 100%;
  max-height: 40px;
}

.img-logo-admin-dashboard {
  max-width: 100%;
  max-height: 32px;
}

/*********
* Header *
**********/
.logo-header {
  max-width: 100%;
  max-height: 65px;
}

.icon-header {
  max-width: 100%;
  max-height: 70px;
}

/*********
* Footer *
**********/
.logo-footer {
  max-width: 100%;
  max-height: 40px;
}

.icon-footer {
  max-width: 100%;
  max-height: 40px;
}

/************
* DashBoard *
*************/
.dashboard-card {
  min-height: 150px;
}

.dashboard-icon {
  max-width: 100%;
  max-height: 70px;
}

.dashboard-icon.dashboard-help {
  max-height: 50px;
}

.dashboard-case.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.dashboard-case.disabled.current-profile {
  opacity: 1;
  cursor: pointer;
}

/******
* Nav *
*******/
.nav-icon {
  max-width: 18px;
  max-height: 18px;
}

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

.navbar-toggler {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

.navbar-toggler.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(97, 77, 141, 0.9)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

/*********************
* Register Switcheur *
**********************/
.step-img-switcheur-register {
  max-width: 100%;
  max-height: 60px;
}

/*****************************
* Formations / Souscriptions *
******************************/
.selling-type-img {
  max-width: 100%;
  max-height: 150px;
}

.provider-case {
  max-width: 100%;
  max-height: 150px;
}

.provider-case.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.provider-img {
  max-width: 100%;
  max-height: 140px;
}

.formation-answer-list label {
  font-size: 1.1em;
  margin-left: 10px;
}

.formation-answer-list input {
  width: 1.1em;
  height: 1.1em;
}

/************
* Switchcoin *
*************/
.switchcoin-logo {
  max-width: 100%;
  max-height: 200px;
}

/************
* Hierarchy *
*************/
#hierarchyList {
  margin: 0;
  padding: 0;
}

#hierarchyList .nested {
  display: none;
}

#hierarchyList .active {
  display: block;
}

#hierarchyList .caret:hover {
  cursor: pointer;
}

#hierarchyList .caret-down span.icon-caret-hierarchy {
  opacity: 1;
  color: #ffc31e !important;
  transform: rotate(45deg);
}

/*******
* Shop *
********/
.product-card {
  min-height: 600px;
}

.product-img {
  min-width: 100%;
  max-height: 300px;
}

.product-img.small {
  min-width: 70px;
  max-height: 70px;
}

.shop-nav-active {
  background-color: #36dda9;
}

#shopNav .navbar-toggler {
  margin: 0 auto;
  background-color: #36dda9;
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

#shopNav .navbar-toggler.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(100, 77, 141, 0.9)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

/*********
* Import *
**********/
.import-phase-img {
  max-width: 100%;
  max-height: 500px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7RUNLRTtBQ0xGO0VBR0ksZUFBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxlQUFjO0VBQWQsY0FBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUlkLGtCQUFjO0VBQWQsb0JBQWM7RUFBZCxrQkFBYztFQUFkLGVBQWM7RUFBZCxrQkFBYztFQUFkLGlCQUFjO0VBQWQsZ0JBQWM7RUFBZCxlQUFjO0VBSWQsa0JBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHVCQUFpQztFQUtuQyxrT0FBeUI7RUFDekIsNkdBQXdCO0FEMkIxQjs7QUUxQkE7OztFQUdFLHNCQUFzQjtBRjZCeEI7O0FFMUJBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGlCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsNkNDWGE7QUh3Q2Y7O0FFdkJBO0VBQ0UsY0FBYztBRjBCaEI7O0FFaEJBO0VBQ0UsU0FBUztFQUNULHFOQ3NPb087RUNqR2hPLGVBQVc7RUZuSWYsZ0JDK08rQjtFRDlPL0IsZ0JDbVArQjtFRGxQL0IsY0NuQ2dCO0VEb0NoQixnQkFBZ0I7RUFDaEIsc0JDOUNhO0FIaUVmOztBQUVBO0VFUkUscUJBQXFCO0FGVXZCOztBRURBO0VBQ0UsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUI7QUZJbkI7O0FFU0E7RUFDRSxhQUFhO0VBQ2IscUJDaU53QztBSHZOMUM7O0FFYUE7RUFDRSxhQUFhO0VBQ2IsbUJDb0Y4QjtBSDlGaEM7O0FFcUJBOztFQUVFLDBCQUEwQjtFQUMxQixpQ0FBaUM7RUFDakMsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQiw4QkFBOEI7QUZsQmhDOztBRXFCQTtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsb0JBQW9CO0FGbEJ0Qjs7QUVxQkE7OztFQUdFLGFBQWE7RUFDYixtQkFBbUI7QUZsQnJCOztBRXFCQTs7OztFQUlFLGdCQUFnQjtBRmxCbEI7O0FFcUJBO0VBQ0UsZ0JDa0orQjtBSHBLakM7O0FFcUJBO0VBQ0Usb0JBQW9CO0VBQ3BCLGNBQWM7QUZsQmhCOztBRXFCQTtFQUNFLGdCQUFnQjtBRmxCbEI7O0FFcUJBOztFQUVFLG1CQ3FJa0M7QUh2SnBDOztBRXFCQTtFRUlJLGNBQVc7QUpyQmY7O0FFMEJBOztFQUVFLGtCQUFrQjtFRVBoQixjQUFXO0VGU2IsY0FBYztFQUNkLHdCQUF3QjtBRnZCMUI7O0FFMEJBO0VBQU0sY0FBYztBRnRCcEI7O0FFdUJBO0VBQU0sVUFBVTtBRm5CaEI7O0FFMEJBO0VBQ0UsY0N2SmU7RUR3SmYscUJDWDRDO0VEWTVDLDZCQUE2QjtBRnZCL0I7O0FLekpFO0VIbUxFLGNDZDhEO0VEZTlELDBCQ2QrQztBSFJuRDs7QUUrQkE7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0FGNUJ2Qjs7QUtuS0U7RUhrTUUsY0FBYztFQUNkLHFCQUFxQjtBRjNCekI7O0FFb0NBOzs7O0VBSUUsaUdDMERnSDtFQ2xIOUcsY0FBVztBSndCZjs7QUVvQ0E7RUFFRSxhQUFhO0VBRWIsbUJBQW1CO0VBRW5CLGNBQWM7RUFHZCw2QkFBNkI7QUZ0Qy9COztBRThDQTtFQUVFLGdCQUFnQjtBRjVDbEI7O0FFb0RBO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtBRmpEcEI7O0FFb0RBO0VBR0UsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtBRm5EeEI7O0FFMkRBO0VBQ0UseUJBQXlCO0FGeEQzQjs7QUUyREE7RUFDRSxvQkM4RWtDO0VEN0VsQyx1QkM2RWtDO0VENUVsQyxjQ3RRZ0I7RUR1UWhCLGdCQUFnQjtFQUNoQixvQkFBb0I7QUZ4RHRCOztBRStEQTtFQUVFLG1CQUFtQjtFQUNuQixnQ0FBZ0M7QUY3RGxDOztBRXFFQTtFQUVFLHFCQUFxQjtFQUNyQixxQkM0SjJDO0FIL043Qzs7QUV5RUE7RUFFRSxnQkFBZ0I7QUZ2RWxCOztBRStFQTtFQUNFLFVBQVU7QUY1RVo7O0FFK0VBOzs7OztFQUtFLFNBQVM7RUFDVCxvQkFBb0I7RUVoS2xCLGtCQUFXO0VGa0tiLG9CQUFvQjtBRjVFdEI7O0FFK0VBOztFQUVFLGlCQUFpQjtBRjVFbkI7O0FFK0VBOztFQUVFLG9CQUFvQjtBRjVFdEI7O0FBRUE7RUVpRkUsZUFBZTtBRi9FakI7O0FFcUZBO0VBQ0UsaUJBQWlCO0FGbEZuQjs7QUV5RkE7Ozs7RUFJRSwwQkFBMEI7QUZ0RjVCOztBRTJGRTs7OztFQUtJLGVBQWU7QUZ6RnJCOztBRStGQTs7OztFQUlFLFVBQVU7RUFDVixrQkFBa0I7QUY1RnBCOztBRStGQTs7RUFFRSxzQkFBc0I7RUFDdEIsVUFBVTtBRjVGWjs7QUVnR0E7RUFDRSxjQUFjO0VBRWQsZ0JBQWdCO0FGOUZsQjs7QUVpR0E7RUFNRSxZQUFZO0VBRVosVUFBVTtFQUNWLFNBQVM7RUFDVCxTQUFTO0FGcEdYOztBRXlHQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZUFBZTtFQUNmLFVBQVU7RUFDVixvQkFBb0I7RUU5T2hCLGlCQUFXO0VGZ1BmLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsbUJBQW1CO0FGdEdyQjs7QUV5R0E7RUFDRSx3QkFBd0I7QUZ0RzFCOztBQUVBOztFRTBHRSxZQUFZO0FGdkdkOztBQUVBO0VFNkdFLG9CQUFvQjtFQUNwQix3QkFBd0I7QUYzRzFCOztBQUVBO0VFaUhFLHdCQUF3QjtBRi9HMUI7O0FFdUhBO0VBQ0UsYUFBYTtFQUNiLDBCQUEwQjtBRnBINUI7O0FFMkhBO0VBQ0UscUJBQXFCO0FGeEh2Qjs7QUUySEE7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtBRnhIakI7O0FFMkhBO0VBQ0UsYUFBYTtBRnhIZjs7QUFFQTtFRTRIRSx3QkFBd0I7QUYxSDFCOztBTWxXQTs7RUFFRSxxQkhzU3dDO0VHcFN4QyxnQkhzUytCO0VHclMvQixnQkhzUytCO0FIOERqQzs7QU1oV0E7RUZxS00saUJBQVc7QUorTGpCOztBTW5XQTtFRm9LTSxlQUFXO0FKbU1qQjs7QU10V0E7RUZtS00sa0JBQVc7QUp1TWpCOztBTXpXQTtFRmtLTSxpQkFBVztBSjJNakI7O0FNNVdBO0VGaUtNLGtCQUFXO0FKK01qQjs7QU0vV0E7RUZnS00sZUFBVztBSm1OakI7O0FNalhBO0VGOEpNLGtCQUFXO0VFNUpmLGdCSHdTK0I7QUg0RWpDOztBTWhYQTtFRndKTSxlQUFXO0VFdEpmLGdCSDJSK0I7RUcxUi9CLGdCSGtSK0I7QUhpR2pDOztBTWpYQTtFRm1KTSxpQkFBVztFRWpKZixnQkh1UitCO0VHdFIvQixnQkg2UStCO0FIdUdqQzs7QU1sWEE7RUY4SU0saUJBQVc7RUU1SWYsZ0JIbVIrQjtFR2xSL0IsZ0JId1ErQjtBSDZHakM7O0FNblhBO0VGeUlNLGlCQUFXO0VFdklmLGdCSCtRK0I7RUc5US9CLGdCSG1RK0I7QUhtSGpDOztBRXpWQTtFSXBCRSxnQkhnRlc7RUcvRVgsbUJIK0VXO0VHOUVYLFNBQVM7RUFDVCx3Q0h6Q2E7QUgwWmY7O0FNeldBOztFRmtHSSxrQkFBVztFRS9GYixnQkgyTitCO0FIaUpqQzs7QU16V0E7O0VBRUUsY0htUWdDO0VHbFFoQyx5QkgyUW1DO0FIaUdyQzs7QU1wV0E7RUMvRUUsZUFBZTtFQUNmLGdCQUFnQjtBUHVibEI7O0FNcFdBO0VDcEZFLGVBQWU7RUFDZixnQkFBZ0I7QVA0YmxCOztBTXRXQTtFQUNFLHFCQUFxQjtBTnlXdkI7O0FNMVdBO0VBSUksb0JIcVArQjtBSHFIbkM7O0FNaFdBO0VGMkRJLGNBQVc7RUV6RGIseUJBQXlCO0FObVczQjs7QU0vVkE7RUFDRSxtQkh1Qlc7RUM2Q1Asa0JBQVc7QUorUmpCOztBTS9WQTtFQUNFLGNBQWM7RUYrQ1osa0JBQVc7RUU3Q2IsY0gxR2dCO0FINGNsQjs7QU1yV0E7RUFNSSxxQkFBcUI7QU5tV3pCOztBUXRkQTtFQ0lFLGVBQWU7RUFHZixZQUFZO0FUb2RkOztBUXJkQTtFQUNFLGdCTHFnQ3dDO0VLcGdDeEMsc0JMUmE7RUtTYix5QkxOZ0I7RU9RZCxzQlA2TmdDO0VNcE9sQyxlQUFlO0VBR2YsWUFBWTtBVDZkZDs7QVEvY0E7RUFFRSxxQkFBcUI7QVJpZHZCOztBUTljQTtFQUNFLHFCQUEyQjtFQUMzQixjQUFjO0FSaWRoQjs7QVE5Y0E7RUo4SEksY0FBVztFSTVIYixjTDNCZ0I7QUg0ZWxCOztBV3hmQTtFUG1LSSxnQkFBVztFT2pLYixjUm1DZTtFUWxDZixxQkFBcUI7QVgyZnZCOztBV3hmRTtFQUNFLGNBQWM7QVgyZmxCOztBV3RmQTtFQUNFLHNCUjBsQ3VDO0VDcDhCckMsZ0JBQVc7RU9wSmIsV1JUYTtFUVViLHlCUkRnQjtFT0VkLHFCUCtOK0I7QUgwUm5DOztBVzlmQTtFQVNJLFVBQVU7RVA4SVYsZUFBVztFTzVJWCxnQlJ5UTZCO0FIZ1BqQzs7QUVqVEE7RVNqTUUsY0FBYztFUHFJWixnQkFBVztFT25JYixjUmpCZ0I7QUh1Z0JsQjs7QVd6ZkE7RVBzSUksa0JBQVc7RU85SFgsY0FBYztFQUNkLGtCQUFrQjtBWHNmdEI7O0FXamZBO0VBQ0UsaUJSaWtDdUM7RVFoa0N2QyxrQkFBa0I7QVhvZnBCOztBWTVoQkU7Ozs7OztFQ0RBLFdBQVc7RUFDWCxtQkFBMkI7RUFDM0Isa0JBQTBCO0VBQzFCLGtCQUFrQjtFQUNsQixpQkFBaUI7QWJzaUJuQjs7QWNuZkk7RUZ6Q0U7SUFDRSxnQlQrTEc7RUhpV1Q7QUFDRjs7QWN6Zkk7RUZ6Q0U7SUFDRSxnQlRnTUc7RUhzV1Q7QUFDRjs7QWMvZkk7RUZ6Q0U7SUFDRSxnQlRpTUc7RUgyV1Q7QUFDRjs7QWNyZ0JJO0VGekNFO0lBQ0UsaUJUa01JO0VIZ1hWO0FBQ0Y7O0FZdmhCRTtFQ25DQSxhQUFhO0VBQ2IsZUFBZTtFQUNmLG1CQUEyQjtFQUMzQixrQkFBMEI7QWI4akI1Qjs7QVl4aEJFO0VBQ0UsZUFBZTtFQUNmLGNBQWM7QVoyaEJsQjs7QVk3aEJFOztFQU1JLGdCQUFnQjtFQUNoQixlQUFlO0FaNGhCckI7O0FlbGxCRTs7Ozs7O0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxtQkFBMkI7RUFDM0Isa0JBQTBCO0FmMGxCOUI7O0FlcGtCTTtFQUNFLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZTtBZnVrQnZCOztBZWxrQlU7RUZ3Qk4sY1R1QnFEO0VTdEJyRCxlVHNCcUQ7QUp3aEJ6RDs7QWV2a0JVO0VGd0JOLGFUdUJxRDtFU3RCckQsY1RzQnFEO0FKNmhCekQ7O0FlNWtCVTtFRndCTixtQlR1QnFEO0VTdEJyRCxvQlRzQnFEO0FKa2lCekQ7O0FlamxCVTtFRndCTixhVHVCcUQ7RVN0QnJELGNUc0JxRDtBSnVpQnpEOztBZXRsQlU7RUZ3Qk4sYVR1QnFEO0VTdEJyRCxjVHNCcUQ7QUo0aUJ6RDs7QWUzbEJVO0VGd0JOLG1CVHVCcUQ7RVN0QnJELG9CVHNCcUQ7QUppakJ6RDs7QWUxbEJNO0VGQ0osY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlO0FiNmxCakI7O0FlMWxCVTtFRmJSLGtCQUE2QztFQUk3QyxtQkFBOEM7QWJ3bUJoRDs7QWUvbEJVO0VGYlIsbUJBQTZDO0VBSTdDLG9CQUE4QztBYjZtQmhEOztBZXBtQlU7RUZiUixhQUE2QztFQUk3QyxjQUE4QztBYmtuQmhEOztBZXptQlU7RUZiUixtQkFBNkM7RUFJN0Msb0JBQThDO0FidW5CaEQ7O0FlOW1CVTtFRmJSLG1CQUE2QztFQUk3QyxvQkFBOEM7QWI0bkJoRDs7QWVubkJVO0VGYlIsYUFBNkM7RUFJN0MsY0FBOEM7QWJpb0JoRDs7QWV4bkJVO0VGYlIsbUJBQTZDO0VBSTdDLG9CQUE4QztBYnNvQmhEOztBZTduQlU7RUZiUixtQkFBNkM7RUFJN0Msb0JBQThDO0FiMm9CaEQ7O0FlbG9CVTtFRmJSLGFBQTZDO0VBSTdDLGNBQThDO0FiZ3BCaEQ7O0Fldm9CVTtFRmJSLG1CQUE2QztFQUk3QyxvQkFBOEM7QWJxcEJoRDs7QWU1b0JVO0VGYlIsbUJBQTZDO0VBSTdDLG9CQUE4QztBYjBwQmhEOztBZWpwQlU7RUZiUixjQUE2QztFQUk3QyxlQUE4QztBYitwQmhEOztBZWhwQk07RUFBd0IsU0FBUztBZm9wQnZDOztBZWxwQk07RUFBdUIsU1ptS0c7QUhtZmhDOztBZW5wQlE7RUFBd0IsUUFEWjtBZndwQnBCOztBZXZwQlE7RUFBd0IsUUFEWjtBZjRwQnBCOztBZTNwQlE7RUFBd0IsUUFEWjtBZmdxQnBCOztBZS9wQlE7RUFBd0IsUUFEWjtBZm9xQnBCOztBZW5xQlE7RUFBd0IsUUFEWjtBZndxQnBCOztBZXZxQlE7RUFBd0IsUUFEWjtBZjRxQnBCOztBZTNxQlE7RUFBd0IsUUFEWjtBZmdyQnBCOztBZS9xQlE7RUFBd0IsUUFEWjtBZm9yQnBCOztBZW5yQlE7RUFBd0IsUUFEWjtBZndyQnBCOztBZXZyQlE7RUFBd0IsUUFEWjtBZjRyQnBCOztBZTNyQlE7RUFBd0IsU0FEWjtBZmdzQnBCOztBZS9yQlE7RUFBd0IsU0FEWjtBZm9zQnBCOztBZW5zQlE7RUFBd0IsU0FEWjtBZndzQnBCOztBZWhzQlk7RUZoQlYscUJBQThDO0Fib3RCaEQ7O0FlcHNCWTtFRmhCVixzQkFBOEM7QWJ3dEJoRDs7QWV4c0JZO0VGaEJWLGdCQUE4QztBYjR0QmhEOztBZTVzQlk7RUZoQlYsc0JBQThDO0FiZ3VCaEQ7O0FlaHRCWTtFRmhCVixzQkFBOEM7QWJvdUJoRDs7QWVwdEJZO0VGaEJWLGdCQUE4QztBYnd1QmhEOztBZXh0Qlk7RUZoQlYsc0JBQThDO0FiNHVCaEQ7O0FlNXRCWTtFRmhCVixzQkFBOEM7QWJndkJoRDs7QWVodUJZO0VGaEJWLGdCQUE4QztBYm92QmhEOztBZXB1Qlk7RUZoQlYsc0JBQThDO0Fid3ZCaEQ7O0FleHVCWTtFRmhCVixzQkFBOEM7QWI0dkJoRDs7QWN2dkJJO0VDM0JFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0Vmc3hCckI7RWVqeEJRO0lGd0JOLGNUdUJxRDtJU3RCckQsZVRzQnFEO0VKc3VCdkQ7RWVyeEJRO0lGd0JOLGFUdUJxRDtJU3RCckQsY1RzQnFEO0VKMHVCdkQ7RWV6eEJRO0lGd0JOLG1CVHVCcUQ7SVN0QnJELG9CVHNCcUQ7RUo4dUJ2RDtFZTd4QlE7SUZ3Qk4sYVR1QnFEO0lTdEJyRCxjVHNCcUQ7RUprdkJ2RDtFZWp5QlE7SUZ3Qk4sYVR1QnFEO0lTdEJyRCxjVHNCcUQ7RUpzdkJ2RDtFZXJ5QlE7SUZ3Qk4sbUJUdUJxRDtJU3RCckQsb0JUc0JxRDtFSjB2QnZEO0VlbnlCSTtJRkNKLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtFYnF5QmY7RWVseUJRO0lGYlIsa0JBQTZDO0lBSTdDLG1CQUE4QztFYit5QjlDO0VldHlCUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJtekI5QztFZTF5QlE7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFYnV6QjlDO0VlOXlCUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWIyekI5QztFZWx6QlE7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0ViK3pCOUM7RWV0ekJRO0lGYlIsYUFBNkM7SUFJN0MsY0FBOEM7RWJtMEI5QztFZTF6QlE7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VidTBCOUM7RWU5ekJRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYjIwQjlDO0VlbDBCUTtJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0ViKzBCOUM7RWV0MEJRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYm0xQjlDO0VlMTBCUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJ1MUI5QztFZTkwQlE7SUZiUixjQUE2QztJQUk3QyxlQUE4QztFYjIxQjlDO0VlNTBCSTtJQUF3QixTQUFTO0VmKzBCckM7RWU3MEJJO0lBQXVCLFNabUtHO0VINnFCOUI7RWU3MEJNO0lBQXdCLFFBRFo7RWZpMUJsQjtFZWgxQk07SUFBd0IsUUFEWjtFZm8xQmxCO0VlbjFCTTtJQUF3QixRQURaO0VmdTFCbEI7RWV0MUJNO0lBQXdCLFFBRFo7RWYwMUJsQjtFZXoxQk07SUFBd0IsUUFEWjtFZjYxQmxCO0VlNTFCTTtJQUF3QixRQURaO0VmZzJCbEI7RWUvMUJNO0lBQXdCLFFBRFo7RWZtMkJsQjtFZWwyQk07SUFBd0IsUUFEWjtFZnMyQmxCO0VlcjJCTTtJQUF3QixRQURaO0VmeTJCbEI7RWV4MkJNO0lBQXdCLFFBRFo7RWY0MkJsQjtFZTMyQk07SUFBd0IsU0FEWjtFZisyQmxCO0VlOTJCTTtJQUF3QixTQURaO0VmazNCbEI7RWVqM0JNO0lBQXdCLFNBRFo7RWZxM0JsQjtFZTcyQlU7SUZoQlYsY0FBNEI7RWJnNEI1QjtFZWgzQlU7SUZoQlYscUJBQThDO0VibTRCOUM7RWVuM0JVO0lGaEJWLHNCQUE4QztFYnM0QjlDO0VldDNCVTtJRmhCVixnQkFBOEM7RWJ5NEI5QztFZXozQlU7SUZoQlYsc0JBQThDO0ViNDRCOUM7RWU1M0JVO0lGaEJWLHNCQUE4QztFYis0QjlDO0VlLzNCVTtJRmhCVixnQkFBOEM7RWJrNUI5QztFZWw0QlU7SUZoQlYsc0JBQThDO0VicTVCOUM7RWVyNEJVO0lGaEJWLHNCQUE4QztFYnc1QjlDO0VleDRCVTtJRmhCVixnQkFBOEM7RWIyNUI5QztFZTM0QlU7SUZoQlYsc0JBQThDO0ViODVCOUM7RWU5NEJVO0lGaEJWLHNCQUE4QztFYmk2QjlDO0FBQ0Y7O0FjNzVCSTtFQzNCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtFZjQ3QnJCO0VldjdCUTtJRndCTixjVHVCcUQ7SVN0QnJELGVUc0JxRDtFSjQ0QnZEO0VlMzdCUTtJRndCTixhVHVCcUQ7SVN0QnJELGNUc0JxRDtFSmc1QnZEO0VlLzdCUTtJRndCTixtQlR1QnFEO0lTdEJyRCxvQlRzQnFEO0VKbzVCdkQ7RWVuOEJRO0lGd0JOLGFUdUJxRDtJU3RCckQsY1RzQnFEO0VKdzVCdkQ7RWV2OEJRO0lGd0JOLGFUdUJxRDtJU3RCckQsY1RzQnFEO0VKNDVCdkQ7RWUzOEJRO0lGd0JOLG1CVHVCcUQ7SVN0QnJELG9CVHNCcUQ7RUpnNkJ2RDtFZXo4Qkk7SUZDSixjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7RWIyOEJmO0VleDhCUTtJRmJSLGtCQUE2QztJQUk3QyxtQkFBOEM7RWJxOUI5QztFZTU4QlE7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VieTlCOUM7RWVoOUJRO0lGYlIsYUFBNkM7SUFJN0MsY0FBOEM7RWI2OUI5QztFZXA5QlE7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0ViaStCOUM7RWV4OUJRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYnErQjlDO0VlNTlCUTtJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0VieStCOUM7RWVoK0JRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYjYrQjlDO0VlcCtCUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJpL0I5QztFZXgrQlE7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFYnEvQjlDO0VlNStCUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJ5L0I5QztFZWgvQlE7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0ViNi9COUM7RWVwL0JRO0lGYlIsY0FBNkM7SUFJN0MsZUFBOEM7RWJpZ0M5QztFZWwvQkk7SUFBd0IsU0FBUztFZnEvQnJDO0Vlbi9CSTtJQUF1QixTWm1LRztFSG0xQjlCO0Vlbi9CTTtJQUF3QixRQURaO0VmdS9CbEI7RWV0L0JNO0lBQXdCLFFBRFo7RWYwL0JsQjtFZXovQk07SUFBd0IsUUFEWjtFZjYvQmxCO0VlNS9CTTtJQUF3QixRQURaO0VmZ2dDbEI7RWUvL0JNO0lBQXdCLFFBRFo7RWZtZ0NsQjtFZWxnQ007SUFBd0IsUUFEWjtFZnNnQ2xCO0VlcmdDTTtJQUF3QixRQURaO0VmeWdDbEI7RWV4Z0NNO0lBQXdCLFFBRFo7RWY0Z0NsQjtFZTNnQ007SUFBd0IsUUFEWjtFZitnQ2xCO0VlOWdDTTtJQUF3QixRQURaO0Vma2hDbEI7RWVqaENNO0lBQXdCLFNBRFo7RWZxaENsQjtFZXBoQ007SUFBd0IsU0FEWjtFZndoQ2xCO0VldmhDTTtJQUF3QixTQURaO0VmMmhDbEI7RWVuaENVO0lGaEJWLGNBQTRCO0Vic2lDNUI7RWV0aENVO0lGaEJWLHFCQUE4QztFYnlpQzlDO0VlemhDVTtJRmhCVixzQkFBOEM7RWI0aUM5QztFZTVoQ1U7SUZoQlYsZ0JBQThDO0ViK2lDOUM7RWUvaENVO0lGaEJWLHNCQUE4QztFYmtqQzlDO0VlbGlDVTtJRmhCVixzQkFBOEM7RWJxakM5QztFZXJpQ1U7SUZoQlYsZ0JBQThDO0Vid2pDOUM7RWV4aUNVO0lGaEJWLHNCQUE4QztFYjJqQzlDO0VlM2lDVTtJRmhCVixzQkFBOEM7RWI4akM5QztFZTlpQ1U7SUZoQlYsZ0JBQThDO0ViaWtDOUM7RWVqakNVO0lGaEJWLHNCQUE4QztFYm9rQzlDO0VlcGpDVTtJRmhCVixzQkFBOEM7RWJ1a0M5QztBQUNGOztBY25rQ0k7RUMzQkU7SUFDRSxhQUFhO0lBQ2IsWUFBWTtJQUNaLGVBQWU7RWZrbUNyQjtFZTdsQ1E7SUZ3Qk4sY1R1QnFEO0lTdEJyRCxlVHNCcUQ7RUprakN2RDtFZWptQ1E7SUZ3Qk4sYVR1QnFEO0lTdEJyRCxjVHNCcUQ7RUpzakN2RDtFZXJtQ1E7SUZ3Qk4sbUJUdUJxRDtJU3RCckQsb0JUc0JxRDtFSjBqQ3ZEO0Vlem1DUTtJRndCTixhVHVCcUQ7SVN0QnJELGNUc0JxRDtFSjhqQ3ZEO0VlN21DUTtJRndCTixhVHVCcUQ7SVN0QnJELGNUc0JxRDtFSmtrQ3ZEO0Vlam5DUTtJRndCTixtQlR1QnFEO0lTdEJyRCxvQlRzQnFEO0VKc2tDdkQ7RWUvbUNJO0lGQ0osY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0ViaW5DZjtFZTltQ1E7SUZiUixrQkFBNkM7SUFJN0MsbUJBQThDO0ViMm5DOUM7RWVsbkNRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYituQzlDO0VldG5DUTtJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0VibW9DOUM7RWUxbkNRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYnVvQzlDO0VlOW5DUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWIyb0M5QztFZWxvQ1E7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFYitvQzlDO0VldG9DUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJtcEM5QztFZTFvQ1E7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VidXBDOUM7RWU5b0NRO0lGYlIsYUFBNkM7SUFJN0MsY0FBOEM7RWIycEM5QztFZWxwQ1E7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0ViK3BDOUM7RWV0cENRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYm1xQzlDO0VlMXBDUTtJRmJSLGNBQTZDO0lBSTdDLGVBQThDO0VidXFDOUM7RWV4cENJO0lBQXdCLFNBQVM7RWYycENyQztFZXpwQ0k7SUFBdUIsU1ptS0c7RUh5L0I5QjtFZXpwQ007SUFBd0IsUUFEWjtFZjZwQ2xCO0VlNXBDTTtJQUF3QixRQURaO0VmZ3FDbEI7RWUvcENNO0lBQXdCLFFBRFo7RWZtcUNsQjtFZWxxQ007SUFBd0IsUUFEWjtFZnNxQ2xCO0VlcnFDTTtJQUF3QixRQURaO0VmeXFDbEI7RWV4cUNNO0lBQXdCLFFBRFo7RWY0cUNsQjtFZTNxQ007SUFBd0IsUUFEWjtFZitxQ2xCO0VlOXFDTTtJQUF3QixRQURaO0Vma3JDbEI7RWVqckNNO0lBQXdCLFFBRFo7RWZxckNsQjtFZXByQ007SUFBd0IsUUFEWjtFZndyQ2xCO0VldnJDTTtJQUF3QixTQURaO0VmMnJDbEI7RWUxckNNO0lBQXdCLFNBRFo7RWY4ckNsQjtFZTdyQ007SUFBd0IsU0FEWjtFZmlzQ2xCO0VlenJDVTtJRmhCVixjQUE0QjtFYjRzQzVCO0VlNXJDVTtJRmhCVixxQkFBOEM7RWIrc0M5QztFZS9yQ1U7SUZoQlYsc0JBQThDO0Via3RDOUM7RWVsc0NVO0lGaEJWLGdCQUE4QztFYnF0QzlDO0VlcnNDVTtJRmhCVixzQkFBOEM7RWJ3dEM5QztFZXhzQ1U7SUZoQlYsc0JBQThDO0ViMnRDOUM7RWUzc0NVO0lGaEJWLGdCQUE4QztFYjh0QzlDO0VlOXNDVTtJRmhCVixzQkFBOEM7RWJpdUM5QztFZWp0Q1U7SUZoQlYsc0JBQThDO0Vib3VDOUM7RWVwdENVO0lGaEJWLGdCQUE4QztFYnV1QzlDO0VldnRDVTtJRmhCVixzQkFBOEM7RWIwdUM5QztFZTF0Q1U7SUZoQlYsc0JBQThDO0ViNnVDOUM7QUFDRjs7QWN6dUNJO0VDM0JFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0Vmd3dDckI7RWVud0NRO0lGd0JOLGNUdUJxRDtJU3RCckQsZVRzQnFEO0VKd3RDdkQ7RWV2d0NRO0lGd0JOLGFUdUJxRDtJU3RCckQsY1RzQnFEO0VKNHRDdkQ7RWUzd0NRO0lGd0JOLG1CVHVCcUQ7SVN0QnJELG9CVHNCcUQ7RUpndUN2RDtFZS93Q1E7SUZ3Qk4sYVR1QnFEO0lTdEJyRCxjVHNCcUQ7RUpvdUN2RDtFZW54Q1E7SUZ3Qk4sYVR1QnFEO0lTdEJyRCxjVHNCcUQ7RUp3dUN2RDtFZXZ4Q1E7SUZ3Qk4sbUJUdUJxRDtJU3RCckQsb0JUc0JxRDtFSjR1Q3ZEO0VlcnhDSTtJRkNKLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtFYnV4Q2Y7RWVweENRO0lGYlIsa0JBQTZDO0lBSTdDLG1CQUE4QztFYml5QzlDO0VleHhDUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJxeUM5QztFZTV4Q1E7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFYnl5QzlDO0VlaHlDUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWI2eUM5QztFZXB5Q1E7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0ViaXpDOUM7RWV4eUNRO0lGYlIsYUFBNkM7SUFJN0MsY0FBOEM7RWJxekM5QztFZTV5Q1E7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VieXpDOUM7RWVoekNRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYjZ6QzlDO0VlcHpDUTtJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0ViaTBDOUM7RWV4ekNRO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFYnEwQzlDO0VlNXpDUTtJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RWJ5MEM5QztFZWgwQ1E7SUZiUixjQUE2QztJQUk3QyxlQUE4QztFYjYwQzlDO0VlOXpDSTtJQUF3QixTQUFTO0VmaTBDckM7RWUvekNJO0lBQXVCLFNabUtHO0VIK3BDOUI7RWUvekNNO0lBQXdCLFFBRFo7RWZtMENsQjtFZWwwQ007SUFBd0IsUUFEWjtFZnMwQ2xCO0VlcjBDTTtJQUF3QixRQURaO0VmeTBDbEI7RWV4MENNO0lBQXdCLFFBRFo7RWY0MENsQjtFZTMwQ007SUFBd0IsUUFEWjtFZiswQ2xCO0VlOTBDTTtJQUF3QixRQURaO0VmazFDbEI7RWVqMUNNO0lBQXdCLFFBRFo7RWZxMUNsQjtFZXAxQ007SUFBd0IsUUFEWjtFZncxQ2xCO0VldjFDTTtJQUF3QixRQURaO0VmMjFDbEI7RWUxMUNNO0lBQXdCLFFBRFo7RWY4MUNsQjtFZTcxQ007SUFBd0IsU0FEWjtFZmkyQ2xCO0VlaDJDTTtJQUF3QixTQURaO0VmbzJDbEI7RWVuMkNNO0lBQXdCLFNBRFo7RWZ1MkNsQjtFZS8xQ1U7SUZoQlYsY0FBNEI7RWJrM0M1QjtFZWwyQ1U7SUZoQlYscUJBQThDO0VicTNDOUM7RWVyMkNVO0lGaEJWLHNCQUE4QztFYnczQzlDO0VleDJDVTtJRmhCVixnQkFBOEM7RWIyM0M5QztFZTMyQ1U7SUZoQlYsc0JBQThDO0ViODNDOUM7RWU5MkNVO0lGaEJWLHNCQUE4QztFYmk0QzlDO0VlajNDVTtJRmhCVixnQkFBOEM7RWJvNEM5QztFZXAzQ1U7SUZoQlYsc0JBQThDO0VidTRDOUM7RWV2M0NVO0lGaEJWLHNCQUE4QztFYjA0QzlDO0VlMTNDVTtJRmhCVixnQkFBOEM7RWI2NEM5QztFZTczQ1U7SUZoQlYsc0JBQThDO0ViZzVDOUM7RWVoNENVO0lGaEJWLHNCQUE4QztFYm01QzlDO0FBQ0Y7O0FnQnY4Q0E7RUFDRSxXQUFXO0VBQ1gsbUJiaUlXO0VhaElYLGNiU2dCO0FIaThDbEI7O0FnQjc4Q0E7O0VBUUksZ0JibVZnQztFYWxWaEMsbUJBQW1CO0VBQ25CLDZCYkpjO0FIODhDbEI7O0FnQnA5Q0E7RUFjSSxzQkFBc0I7RUFDdEIsZ0NiVGM7QUhtOUNsQjs7QWdCejlDQTtFQW1CSSw2QmJiYztBSHU5Q2xCOztBZ0JqOENBOztFQUdJLGViNlQrQjtBSHNvQ25DOztBZ0IxN0NBO0VBQ0UseUJibkNnQjtBSGcrQ2xCOztBZ0I5N0NBOztFQUtJLHlCYnZDYztBSHErQ2xCOztBZ0JuOENBOztFQVdNLHdCQUE0QztBaEI2N0NsRDs7QWdCeDdDQTs7OztFQUtJLFNBQVM7QWhCMDdDYjs7QWdCbDdDQTtFQUVJLHFDYjFEVztBSDgrQ2Y7O0FLbi9DRTtFVzJFSSxjYnZFWTtFYXdFWixzQ2J2RVM7QUhtL0NmOztBaUIvL0NFOzs7RUFJSSx5QkNnRzREO0FsQmk2Q2xFOztBaUJyZ0RFOzs7O0VBWU0scUJDd0YwRDtBbEJ3NkNsRTs7QUtyZ0RFO0VZaUJNLHlCQUpzQztBakI0L0M5Qzs7QWlCNy9DRTs7RUFTUSx5QkFSb0M7QWpCaWdEOUM7O0FpQnJoREU7OztFQUlJLHlCQ2dHNEQ7QWxCdTdDbEU7O0FpQjNoREU7Ozs7RUFZTSxxQkN3RjBEO0FsQjg3Q2xFOztBSzNoREU7RVlpQk0seUJBSnNDO0FqQmtoRDlDOztBaUJuaERFOztFQVNRLHlCQVJvQztBakJ1aEQ5Qzs7QWlCM2lERTs7O0VBSUkseUJDZ0c0RDtBbEI2OENsRTs7QWlCampERTs7OztFQVlNLHFCQ3dGMEQ7QWxCbzlDbEU7O0FLampERTtFWWlCTSx5QkFKc0M7QWpCd2lEOUM7O0FpQnppREU7O0VBU1EseUJBUm9DO0FqQjZpRDlDOztBaUJqa0RFOzs7RUFJSSx5QkNnRzREO0FsQm0rQ2xFOztBaUJ2a0RFOzs7O0VBWU0scUJDd0YwRDtBbEIwK0NsRTs7QUt2a0RFO0VZaUJNLHlCQUpzQztBakI4akQ5Qzs7QWlCL2pERTs7RUFTUSx5QkFSb0M7QWpCbWtEOUM7O0FpQnZsREU7OztFQUlJLHlCQ2dHNEQ7QWxCeS9DbEU7O0FpQjdsREU7Ozs7RUFZTSxxQkN3RjBEO0FsQmdnRGxFOztBSzdsREU7RVlpQk0seUJBSnNDO0FqQm9sRDlDOztBaUJybERFOztFQVNRLHlCQVJvQztBakJ5bEQ5Qzs7QWlCN21ERTs7O0VBSUkseUJDZ0c0RDtBbEIrZ0RsRTs7QWlCbm5ERTs7OztFQVlNLHFCQ3dGMEQ7QWxCc2hEbEU7O0FLbm5ERTtFWWlCTSx5QkFKc0M7QWpCMG1EOUM7O0FpQjNtREU7O0VBU1EseUJBUm9DO0FqQittRDlDOztBaUJub0RFOzs7RUFJSSx5QkNnRzREO0FsQnFpRGxFOztBaUJ6b0RFOzs7O0VBWU0scUJDd0YwRDtBbEI0aURsRTs7QUt6b0RFO0VZaUJNLHlCQUpzQztBakJnb0Q5Qzs7QWlCam9ERTs7RUFTUSx5QkFSb0M7QWpCcW9EOUM7O0FpQnpwREU7OztFQUlJLHlCQ2dHNEQ7QWxCMmpEbEU7O0FpQi9wREU7Ozs7RUFZTSxxQkN3RjBEO0FsQmtrRGxFOztBSy9wREU7RVlpQk0seUJBSnNDO0FqQnNwRDlDOztBaUJ2cERFOztFQVNRLHlCQVJvQztBakIycEQ5Qzs7QWlCL3FERTs7O0VBSUksc0NkUVM7QUh5cURmOztBSzlxREU7RVlpQk0sc0NBSnNDO0FqQnFxRDlDOztBaUJ0cURFOztFQVNRLHNDQVJvQztBakIwcUQ5Qzs7QWdCcGxEQTtFQUdNLFdiM0dTO0VhNEdULHlCYnBHWTtFYXFHWixxQmJpUXFEO0FIbzFDM0Q7O0FnQjFsREE7RUFXTSxjYjVHWTtFYTZHWix5QmJsSFk7RWFtSFoscUJibEhZO0FIcXNEbEI7O0FnQjlrREE7RUFDRSxXYjNIYTtFYTRIYix5QmJwSGdCO0FIcXNEbEI7O0FnQm5sREE7OztFQU9JLHFCYjZPdUQ7QUhxMkMzRDs7QWdCemxEQTtFQVdJLFNBQVM7QWhCa2xEYjs7QWdCN2xEQTtFQWdCTSwyQ2IxSVM7QUgydERmOztBS3R0REU7RVc0SU0sV2JqSk87RWFrSlAsNENibEpPO0FIZ3VEZjs7QWM5cERJO0VFaUdBO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0VoQmdrRHZDO0VnQnJrREc7SUFTSyxTQUFTO0VoQitqRGpCO0FBQ0Y7O0FjMXFESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEI0a0R2QztFZ0JqbERHO0lBU0ssU0FBUztFaEIya0RqQjtBQUNGOztBY3RyREk7RUVpR0E7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7RWhCd2xEdkM7RWdCN2xERztJQVNLLFNBQVM7RWhCdWxEakI7QUFDRjs7QWNsc0RJO0VFaUdBO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0VoQm9tRHZDO0VnQnptREc7SUFTSyxTQUFTO0VoQm1tRGpCO0FBQ0Y7O0FnQmxuREE7RUFPUSxjQUFjO0VBQ2QsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQ0FBaUM7QWhCK21EekM7O0FnQnpuREE7RUFjVSxTQUFTO0FoQittRG5COztBbUI1eERBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxtQ0RpSDhEO0VDaEg5RCx5QmhCMFhrQztFQ2hOOUIsZUFBVztFZXZLZixnQmhCbVIrQjtFZ0JsUi9CLGdCaEJ1UitCO0VnQnRSL0IsY2hCRGdCO0VnQkVoQixzQmhCVGE7RWdCVWIsNEJBQTRCO0VBQzVCLHlCaEJQZ0I7RU9PZCxzQlA2TmdDO0VpQi9OOUIsd0VqQndlNEY7QUgwekNsRzs7QW9COXhETTtFRGROO0lDZVEsZ0JBQWdCO0VwQmt5RHRCO0FBQ0Y7O0FtQmx6REE7RUFzQkksNkJBQTZCO0VBQzdCLFNBQVM7QW5CZ3lEYjs7QXFCaHpERTtFQUNFLGNsQkFjO0VrQkNkLHNCbEJSVztFa0JTWCxxQmxCc2RzRTtFa0JyZHRFLFVBQVU7RUFLUixnRGxCYVc7QUhreURqQjs7QW1CL3pEQTtFQStCSSxjaEJ4QmM7RWdCMEJkLFVBQVU7QW5CbXlEZDs7QW1CcDBEQTtFQTJDSSx5QmhCeENjO0VnQjBDZCxVQUFVO0FuQjR4RGQ7O0FtQnh4REE7Ozs7RUFLSSxnQkFBZ0I7QW5CMHhEcEI7O0FtQnR4REE7RUFHSSxrQkFBa0I7RUFDbEIsMEJoQnREYztBSDYwRGxCOztBbUIzeERBO0VBYUksY2hCL0RjO0VnQmdFZCxzQmhCdkVXO0FIeTFEZjs7QW1CN3dEQTs7RUFFRSxjQUFjO0VBQ2QsV0FBVztBbkJneERiOztBbUJ0d0RBO0VBQ0UsaUNEeUI4RDtFQ3hCOUQsb0NEd0I4RDtFQ3ZCOUQsZ0JBQWdCO0VmaUVkLGtCQUFXO0VlL0RiLGdCaEJnTStCO0FIeWtEakM7O0FtQnR3REE7RUFDRSwrQkRpQjhEO0VDaEI5RCxrQ0RnQjhEO0VkMEQxRCxrQkFBVztFZXhFZixnQmhCNkgrQjtBSDRvRGpDOztBbUJ0d0RBO0VBQ0UsZ0NEVThEO0VDVDlELG1DRFM4RDtFZDBEMUQsbUJBQVc7RWVqRWYsZ0JoQnVIK0I7QUhrcERqQzs7QW1CaHdEQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQTJCO0VBQzNCLGdCQUFnQjtFZm9EWixlQUFXO0VlbERmLGdCaEJtSytCO0VnQmxLL0IsY2hCbkhnQjtFZ0JvSGhCLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsbUJBQW1DO0FuQm13RHJDOztBbUI3d0RBO0VBY0ksZ0JBQWdCO0VBQ2hCLGVBQWU7QW5CbXdEbkI7O0FtQnZ2REE7RUFDRSxrQ0Q5QjhEO0VDK0I5RCx1QmhCcVBpQztFQzFON0IsbUJBQVc7RWV6QmYsZ0JoQitFK0I7RU94TjdCLHFCUCtOK0I7QUhxcURuQzs7QW1CdnZEQTtFQUNFLGdDRHRDOEQ7RUN1QzlELG9CaEJrUGdDO0VDL041QixrQkFBVztFZWpCZixnQmhCc0UrQjtFT3ZON0IscUJQOE4rQjtBSDhxRG5DOztBbUJ0dkRBO0VBR0ksWUFBWTtBbkJ1dkRoQjs7QW1CbnZEQTtFQUNFLFlBQVk7QW5Cc3ZEZDs7QW1COXVEQTtFQUNFLG1CaEIyVTBDO0FIczZDNUM7O0FtQjl1REE7RUFDRSxjQUFjO0VBQ2QsbUJoQjRUNEM7QUhxN0M5Qzs7QW1CenVEQTtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0JBQTJDO0VBQzNDLGlCQUEwQztBbkI0dUQ1Qzs7QW1CaHZEQTs7RUFRSSxrQkFBMkM7RUFDM0MsaUJBQTBDO0FuQjZ1RDlDOztBbUJwdURBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxxQmhCaVM2QztBSHM4Qy9DOztBbUJwdURBO0VBQ0Usa0JBQWtCO0VBQ2xCLGtCaEI2UjJDO0VnQjVSM0MscUJoQjJSNkM7QUg0OEMvQzs7QW1CMXVEQTs7RUFRSSxjaEJ6TmM7QUhnOERsQjs7QW1CbnVEQTtFQUNFLGdCQUFnQjtBbkJzdURsQjs7QW1CbnVEQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHFCaEI4UTRDO0FIdzlDOUM7O0FtQjF1REE7RUFRSSxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLHVCaEJ5UTRDO0VnQnhRNUMsY0FBYztBbkJzdURsQjs7QXFCbjdERTtFQUNFLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJsQjJjMEM7RUN0VjFDLGtCQUFXO0VpQm5IWCxjbEJQYTtBSDY3RGpCOztBcUJuN0RFO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJsQnN5QnFDO0VrQnJ5QnJDLGlCQUFpQjtFakJ3SGYsbUJBQVc7RWlCdEhiLGdCbEJ1TzZCO0VrQnRPN0IsV2xCeERXO0VrQnlEWCx3Q2xCdEJhO0VPeEJiLHNCUDZOZ0M7QUh3d0RwQzs7QXFCbDdESTs7RUFFRSxTQUFrQztBckJxN0R4Qzs7QXFCNTlESTs7OztFQThDRSxjQUFjO0FyQnE3RHBCOztBcUJuK0RJO0VBb0RFLHFCbEIxQ1c7RWtCNkNULCtDQUE2QztFQUM3QyxpUkgzQjBFO0VHNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFSCtCd0Q7QWxCazVEaEU7O0FxQjUrREk7RUErREkscUJsQnJEUztFa0JzRFQsZ0RsQnREUztBSHUrRGpCOztBcUJqL0RJO0VBeUVJLDhCQUE4QztFQUM5Qyx3Q0FBc0Q7QXJCNDZEOUQ7O0FxQnQvREk7RUFtRkksb0NIT3dEO0VHTnhELGtGSE13RDtBbEJpNkRoRTs7QXFCMy9ESTtFQTJGRSxxQmxCakZXO0VrQm9GVCxrREFBb0U7RUFDcEUsdWpCQUE4SjtBckJrNkR0Szs7QXFCamdFSTtFQW1HSSxxQmxCekZTO0VrQjBGVCxnRGxCMUZTO0FINC9EakI7O0FxQnRnRUk7RUE0R0ksY2xCbEdTO0FIZ2dFakI7O0FxQjFnRUk7OztFQWlISSxjQUFjO0FyQis1RHRCOztBcUJoaEVJO0VBeUhJLGNsQi9HUztBSDBnRWpCOztBcUJwaEVJO0VBNEhNLHFCbEJsSE87QUg4Z0VqQjs7QXFCeGhFSTtFQWtJTSxxQkFBa0M7RUM1SnhDLHlCRDZKK0M7QXJCMDVEbkQ7O0FxQjdoRUk7RUF5SU0sZ0RsQi9ITztBSHVoRWpCOztBcUJqaUVJO0VBNklNLHFCbEJuSU87QUgyaEVqQjs7QXFCcmlFSTtFQXVKSSxxQmxCN0lTO0FIK2hFakI7O0FxQnppRUk7RUE0Sk0scUJsQmxKTztFa0JtSlAsZ0RsQm5KTztBSG9pRWpCOztBcUJsaUVFO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxtQmxCMmMwQztFQ3RWMUMsa0JBQVc7RWlCbkhYLGNsQlZhO0FIK2lFakI7O0FxQmxpRUU7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QmxCc3lCcUM7RWtCcnlCckMsaUJBQWlCO0VqQndIZixtQkFBVztFaUJ0SGIsZ0JsQnVPNkI7RWtCdE83QixXbEJ4RFc7RWtCeURYLHdDbEJ6QmE7RU9yQmIsc0JQNk5nQztBSHUzRHBDOztBcUJqaUVJOztFQUVFLFNBQWtDO0FyQm9pRXhDOztBcUIza0VJOzs7O0VBOENFLGNBQWM7QXJCb2lFcEI7O0FxQmxsRUk7RUFvREUscUJsQjdDVztFa0JnRFQsK0NBQTZDO0VBQzdDLDRVSDNCMEU7RUc0QjFFLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VIK0J3RDtBbEJpZ0VoRTs7QXFCM2xFSTtFQStESSxxQmxCeERTO0VrQnlEVCxnRGxCekRTO0FIeWxFakI7O0FxQmhtRUk7RUF5RUksOEJBQThDO0VBQzlDLHdDQUFzRDtBckIyaEU5RDs7QXFCcm1FSTtFQW1GSSxvQ0hPd0Q7RUdOeEQsa0ZITXdEO0FsQmdoRWhFOztBcUIxbUVJO0VBMkZFLHFCbEJwRlc7RWtCdUZULGtEQUFvRTtFQUNwRSxrbkJBQThKO0FyQmloRXRLOztBcUJobkVJO0VBbUdJLHFCbEI1RlM7RWtCNkZULGdEbEI3RlM7QUg4bUVqQjs7QXFCcm5FSTtFQTRHSSxjbEJyR1M7QUhrbkVqQjs7QXFCem5FSTs7O0VBaUhJLGNBQWM7QXJCOGdFdEI7O0FxQi9uRUk7RUF5SEksY2xCbEhTO0FING5FakI7O0FxQm5vRUk7RUE0SE0scUJsQnJITztBSGdvRWpCOztBcUJ2b0VJO0VBa0lNLHFCQUFrQztFQzVKeEMseUJENkorQztBckJ5Z0VuRDs7QXFCNW9FSTtFQXlJTSxnRGxCbElPO0FIeW9FakI7O0FxQmhwRUk7RUE2SU0scUJsQnRJTztBSDZvRWpCOztBcUJwcEVJO0VBdUpJLHFCbEJoSlM7QUhpcEVqQjs7QXFCeHBFSTtFQTRKTSxxQmxCckpPO0VrQnNKUCxnRGxCdEpPO0FIc3BFakI7O0FtQjM2REE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG1CQUFtQjtBbkI4NkRyQjs7QW1CajdEQTtFQVNJLFdBQVc7QW5CNDZEZjs7QWMzb0VJO0VLc05KO0lBZU0sYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0VuQjI2RHBCO0VtQjc3REY7SUF1Qk0sYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGdCQUFnQjtFbkJ5NkRwQjtFbUJwOERGO0lBZ0NNLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsc0JBQXNCO0VuQnU2RDFCO0VtQno4REY7SUF1Q00scUJBQXFCO0VuQnE2RHpCO0VtQjU4REY7O0lBNENNLFdBQVc7RW5CbzZEZjtFbUJoOURGO0lBa0RNLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxlQUFlO0VuQmk2RG5CO0VtQnY5REY7SUF5RE0sa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxhQUFhO0lBQ2IscUJoQmdMd0M7SWdCL0t4QyxjQUFjO0VuQmk2RGxCO0VtQjk5REY7SUFpRU0sbUJBQW1CO0lBQ25CLHVCQUF1QjtFbkJnNkQzQjtFbUJsK0RGO0lBcUVNLGdCQUFnQjtFbkJnNkRwQjtBQUNGOztBdUJsdkVBO0VBQ0UscUJBQXFCO0VBRXJCLGdCcEJ1UitCO0VvQnRSL0IsY3BCTWdCO0VvQkxoQixrQkFBa0I7RUFHbEIsc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsNkJBQTJDO0VDdUYzQyx5QnJCNFJrQztFQ2hOOUIsZUFBVztFb0IxRWYsZ0JyQjJMK0I7RU9uUjdCLHNCUDZOZ0M7RWlCL045QixxSWpCaWI2STtBSHUwRG5KOztBb0JwdkVNO0VHZE47SUhlUSxnQkFBZ0I7RXBCd3ZFdEI7QUFDRjs7QUtsd0VFO0VrQlVFLGNwQk5jO0VvQk9kLHFCQUFxQjtBdkI0dkV6Qjs7QXVCN3dFQTtFQXNCSSxVQUFVO0VBQ1YsZ0RwQk1hO0FIcXZFakI7O0F1Qmx4RUE7RUE2QkksYXBCa1o2QjtBSHUyRGpDOztBdUJ0eEVBO0VBa0NJLGVBQXNEO0F2Qnd2RTFEOztBdUIxdUVBOztFQUVFLG9CQUFvQjtBdkI2dUV0Qjs7QXVCcHVFRTtFQzNEQSxXckJDYTtFbUJEWCx5Qm5CNkJhO0VxQjNCZixxQnJCMkJlO0FId3dFakI7O0FLL3hFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4QjR5RTdIOztBd0JoeUVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxnREFBaUY7QXhCOHhFdkY7O0F3Qnp4RUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJDYTtFcUJBYixxQnJCQWE7QUgyeEVqQjs7QXdCcHhFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCZzBFbk47O0F3Qmp4RUk7O0VBS0ksZ0RBQWlGO0F4Qml4RXpGOztBdUJ6d0VFO0VDM0RBLFdyQkNhO0VtQkRYLHlCbkJPYztFcUJMaEIscUJyQktnQjtBSG0wRWxCOztBS3AwRUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJpMUU3SDs7QXdCcjBFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsaURBQWlGO0F4Qm0wRXZGOztBd0I5ekVFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCckJjO0VxQnNCZCxxQnJCdEJjO0FIczFFbEI7O0F3Qnp6RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QnEyRW5OOztBd0J0ekVJOztFQUtJLGlEQUFpRjtBeEJzekV6Rjs7QXVCOXlFRTtFQzNEQSxXckJDYTtFbUJEWCx5Qm5Cb0NhO0VxQmxDZixxQnJCa0NlO0FIMjBFakI7O0FLejJFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4QnMzRTdIOztBd0IxMkVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCwrQ0FBaUY7QXhCdzJFdkY7O0F3Qm4yRUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJRYTtFcUJQYixxQnJCT2E7QUg4MUVqQjs7QXdCOTFFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCMDRFbk47O0F3QjMxRUk7O0VBS0ksK0NBQWlGO0F4QjIxRXpGOztBdUJuMUVFO0VDM0RBLFdyQkNhO0VtQkRYLHlCbkJzQ2E7RXFCcENmLHFCckJvQ2U7QUg4MkVqQjs7QUs5NEVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCMjVFN0g7O0F3Qi80RUU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBeEI2NEV2Rjs7QXdCeDRFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQlVhO0VxQlRiLHFCckJTYTtBSGk0RWpCOztBd0JuNEVFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEIrNkVuTjs7QXdCaDRFSTs7RUFLSSxnREFBaUY7QXhCZzRFekY7O0F1QngzRUU7RUMzREEsY3JCVWdCO0VtQlZkLHlCbkJtQ2E7RXFCakNmLHFCckJpQ2U7QUhzNUVqQjs7QUtuN0VFO0VtQkFFLGNyQkljO0VtQlZkLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCZzhFN0g7O0F3QnA3RUU7RUFFRSxjckJIYztFbUJWZCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBeEJrN0V2Rjs7QXdCNzZFRTtFQUVFLGNyQmpCYztFcUJrQmQseUJyQk9hO0VxQk5iLHFCckJNYTtBSHk2RWpCOztBd0J4NkVFOztFQUdFLGNyQjdCYztFcUI4QmQseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJvOUVuTjs7QXdCcjZFSTs7RUFLSSxnREFBaUY7QXhCcTZFekY7O0F1Qjc1RUU7RUMzREEsV3JCQ2E7RW1CRFgseUJuQmlDYTtFcUIvQmYscUJyQitCZTtBSDY3RWpCOztBS3g5RUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJxK0U3SDs7QXdCejlFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsK0NBQWlGO0F4QnU5RXZGOztBd0JsOUVFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCS2E7RXFCSmIscUJyQklhO0FIZzlFakI7O0F3Qjc4RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QnkvRW5OOztBd0IxOEVJOztFQUtJLCtDQUFpRjtBeEIwOEV6Rjs7QXVCbDhFRTtFQzNEQSxjckJVZ0I7RW1CVmQseUJuQkVjO0VxQkFoQixxQnJCQWdCO0FIaWdGbEI7O0FLNy9FRTtFbUJBRSxjckJJYztFbUJWZCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4QjBnRjdIOztBd0I5L0VFO0VBRUUsY3JCSGM7RW1CVmQseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxpREFBaUY7QXhCNC9FdkY7O0F3QnYvRUU7RUFFRSxjckJqQmM7RXFCa0JkLHlCckIxQmM7RXFCMkJkLHFCckIzQmM7QUhvaEZsQjs7QXdCbC9FRTs7RUFHRSxjckI3QmM7RXFCOEJkLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCOGhGbk47O0F3Qi8rRUk7O0VBS0ksaURBQWlGO0F4QisrRXpGOztBdUJ2K0VFO0VDM0RBLFdyQkNhO0VtQkRYLHlCbkJTYztFcUJQaEIscUJyQk9nQjtBSCtoRmxCOztBS2xpRkU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEIraUY3SDs7QXdCbmlGRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsOENBQWlGO0F4QmlpRnZGOztBd0I1aEZFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCbkJjO0VxQm9CZCxxQnJCcEJjO0FIa2pGbEI7O0F3QnZoRkU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4Qm1rRm5OOztBd0JwaEZJOztFQUtJLDhDQUFpRjtBeEJvaEZ6Rjs7QXVCdGdGRTtFQ1BBLGNyQjdCZTtFcUI4QmYscUJyQjlCZTtBSCtpRmpCOztBS3RrRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQmxDYTtFcUJtQ2IscUJyQm5DYTtBSHFqRmpCOztBd0IvZ0ZFO0VBRUUsK0NyQnhDYTtBSHlqRmpCOztBd0I5Z0ZFO0VBRUUsY3JCN0NhO0VxQjhDYiw2QkFBNkI7QXhCZ2hGakM7O0F3QjdnRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCckRhO0VxQnNEYixxQnJCdERhO0FIcWtGakI7O0F3QjdnRkk7O0VBS0ksK0NyQjdEUztBSDBrRmpCOztBdUJ0aUZFO0VDUEEsY3JCbkRnQjtFcUJvRGhCLHFCckJwRGdCO0FIcW1GbEI7O0FLdG1GRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCeERjO0VxQnlEZCxxQnJCekRjO0FIMm1GbEI7O0F3Qi9pRkU7RUFFRSxpRHJCOURjO0FIK21GbEI7O0F3QjlpRkU7RUFFRSxjckJuRWM7RXFCb0VkLDZCQUE2QjtBeEJnakZqQzs7QXdCN2lGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckIzRWM7RXFCNEVkLHFCckI1RWM7QUgybkZsQjs7QXdCN2lGSTs7RUFLSSxpRHJCbkZVO0FIZ29GbEI7O0F1QnRrRkU7RUNQQSxjckJ0QmU7RXFCdUJmLHFCckJ2QmU7QUh3bUZqQjs7QUt0b0ZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckIzQmE7RXFCNEJiLHFCckI1QmE7QUg4bUZqQjs7QXdCL2tGRTtFQUVFLCtDckJqQ2E7QUhrbkZqQjs7QXdCOWtGRTtFQUVFLGNyQnRDYTtFcUJ1Q2IsNkJBQTZCO0F4QmdsRmpDOztBd0I3a0ZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQjlDYTtFcUIrQ2IscUJyQi9DYTtBSDhuRmpCOztBd0I3a0ZJOztFQUtJLCtDckJ0RFM7QUhtb0ZqQjs7QXVCdG1GRTtFQ1BBLGNyQnBCZTtFcUJxQmYscUJyQnJCZTtBSHNvRmpCOztBS3RxRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnpCYTtFcUIwQmIscUJyQjFCYTtBSDRvRmpCOztBd0IvbUZFO0VBRUUsZ0RyQi9CYTtBSGdwRmpCOztBd0I5bUZFO0VBRUUsY3JCcENhO0VxQnFDYiw2QkFBNkI7QXhCZ25GakM7O0F3QjdtRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCNUNhO0VxQjZDYixxQnJCN0NhO0FINHBGakI7O0F3QjdtRkk7O0VBS0ksZ0RyQnBEUztBSGlxRmpCOztBdUJ0b0ZFO0VDUEEsY3JCdkJlO0VxQndCZixxQnJCeEJlO0FIeXFGakI7O0FLdHNGRTtFbUJ3REUsY3JCcERjO0VxQnFEZCx5QnJCNUJhO0VxQjZCYixxQnJCN0JhO0FIK3FGakI7O0F3Qi9vRkU7RUFFRSwrQ3JCbENhO0FIbXJGakI7O0F3QjlvRkU7RUFFRSxjckJ2Q2E7RXFCd0NiLDZCQUE2QjtBeEJncEZqQzs7QXdCN29GRTs7RUFHRSxjckJ2RWM7RXFCd0VkLHlCckIvQ2E7RXFCZ0RiLHFCckJoRGE7QUgrckZqQjs7QXdCN29GSTs7RUFLSSwrQ3JCdkRTO0FIb3NGakI7O0F1QnRxRkU7RUNQQSxjckJ6QmU7RXFCMEJmLHFCckIxQmU7QUgyc0ZqQjs7QUt0dUZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckI5QmE7RXFCK0JiLHFCckIvQmE7QUhpdEZqQjs7QXdCL3FGRTtFQUVFLCtDckJwQ2E7QUhxdEZqQjs7QXdCOXFGRTtFQUVFLGNyQnpDYTtFcUIwQ2IsNkJBQTZCO0F4QmdyRmpDOztBd0I3cUZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQmpEYTtFcUJrRGIscUJyQmxEYTtBSGl1RmpCOztBd0I3cUZJOztFQUtJLCtDckJ6RFM7QUhzdUZqQjs7QXVCdHNGRTtFQ1BBLGNyQnhEZ0I7RXFCeURoQixxQnJCekRnQjtBSDB3RmxCOztBS3R3RkU7RW1Cd0RFLGNyQnBEYztFcUJxRGQseUJyQjdEYztFcUI4RGQscUJyQjlEYztBSGd4RmxCOztBd0Ivc0ZFO0VBRUUsaURyQm5FYztBSG94RmxCOztBd0I5c0ZFO0VBRUUsY3JCeEVjO0VxQnlFZCw2QkFBNkI7QXhCZ3RGakM7O0F3QjdzRkU7O0VBR0UsY3JCdkVjO0VxQndFZCx5QnJCaEZjO0VxQmlGZCxxQnJCakZjO0FIZ3lGbEI7O0F3QjdzRkk7O0VBS0ksaURyQnhGVTtBSHF5RmxCOztBdUJ0dUZFO0VDUEEsY3JCakRnQjtFcUJrRGhCLHFCckJsRGdCO0FIbXlGbEI7O0FLdHlGRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCdERjO0VxQnVEZCxxQnJCdkRjO0FIeXlGbEI7O0F3Qi91RkU7RUFFRSw4Q3JCNURjO0FINnlGbEI7O0F3Qjl1RkU7RUFFRSxjckJqRWM7RXFCa0VkLDZCQUE2QjtBeEJndkZqQzs7QXdCN3VGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckJ6RWM7RXFCMEVkLHFCckIxRWM7QUh5ekZsQjs7QXdCN3VGSTs7RUFLSSw4Q3JCakZVO0FIOHpGbEI7O0F1QjN2RkE7RUFDRSxnQnBCNk0rQjtFb0I1TS9CLGNwQmpEZTtFb0JrRGYscUJwQjJGNEM7QUhtcUY5Qzs7QUt2MEZFO0VrQjRFRSxjcEJ5RjhEO0VvQnhGOUQsMEJwQnlGK0M7QUhzcUZuRDs7QXVCdHdGQTtFQVlJLDBCcEJvRitDO0FIMHFGbkQ7O0F1QjF3RkE7RUFpQkksY3BCdEZjO0VvQnVGZCxvQkFBb0I7QXZCNnZGeEI7O0F1Qmx2RkE7RUNQRSxvQnJCMlNnQztFQy9ONUIsa0JBQVc7RW9CMUVmLGdCckIrSCtCO0VPdk43QixxQlA4TitCO0FId25GbkM7O0F1QnJ2RkE7RUNYRSx1QnJCc1NpQztFQzFON0IsbUJBQVc7RW9CMUVmLGdCckJnSStCO0VPeE43QixxQlArTitCO0FIOG5GbkM7O0F1Qm52RkE7RUFDRSxjQUFjO0VBQ2QsV0FBVztBdkJzdkZiOztBdUJ4dkZBO0VBTUksa0JwQndUK0I7QUg4N0VuQzs7QXVCanZGQTs7O0VBSUksV0FBVztBdkJtdkZmOztBeUI5M0ZBO0VMZ0JNLGdDakJpUDJDO0FIaW9GakQ7O0FvQjkyRk07RUtwQk47SUxxQlEsZ0JBQWdCO0VwQmszRnRCO0FBQ0Y7O0F5Qng0RkE7RUFJSSxVQUFVO0F6Qnc0RmQ7O0F5QnA0RkE7RUFFSSxhQUFhO0F6QnM0RmpCOztBeUJsNEZBO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0I7RUxEWiw2QmpCa1B3QztBSHFwRjlDOztBb0JuNEZNO0VLTk47SUxPUSxnQkFBZ0I7RXBCdTRGdEI7QUFDRjs7QXlCLzRGQTtFQU9JLFFBQVE7RUFDUixZQUFZO0VMTlYsNEJqQm1QdUM7QUhncUY3Qzs7QW9CLzRGTTtFS05OO0lMT1EsZ0JBQWdCO0VwQm01RnRCO0FBQ0Y7O0EwQng2RkE7Ozs7RUFJRSxrQkFBa0I7QTFCMjZGcEI7O0EwQng2RkE7RUFDRSxtQkFBbUI7QTFCMjZGckI7O0EyQnY1Rkk7RUFDRSxxQkFBcUI7RUFDckIsb0J4QitOMEM7RXdCOU4xQyx1QnhCNk4wQztFd0I1TjFDLFdBQVc7RUFoQ2YsdUJBQThCO0VBQzlCLHFDQUE0QztFQUM1QyxnQkFBZ0I7RUFDaEIsb0NBQTJDO0EzQjI3RjdDOztBMkJ0NEZJO0VBQ0UsY0FBYztBM0J5NEZwQjs7QTBCbjdGQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLGF2QnlwQnNDO0V1QnhwQnRDLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0J2Qml1QnVDO0V1Qmh1QnZDLGlCdkJpdUJtQztFdUJodUJuQyxvQkFBNEI7RXRCMkp4QixlQUFXO0VzQnpKZixjdkJYZ0I7RXVCWWhCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0J2QnZCYTtFdUJ3QmIs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Z0I7RXVCMEtoQixtQkFBbUI7QTFCbytGckI7O0EwQmgrRkE7RUFDRSxjQUFjO0VBQ2QsdUJ2Qm9sQndDO0V1Qm5sQnhDLGN2QjlLZ0I7QUhpcEdsQjs7QTZCOXBHQTs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtBN0JpcUd4Qjs7QTZCcnFHQTs7RUFPSSxrQkFBa0I7RUFDbEIsY0FBYztBN0JtcUdsQjs7QUtscUdFOztFd0JJSSxVQUFVO0E3Qm1xR2hCOztBNkJockdBOzs7O0VBa0JNLFVBQVU7QTdCcXFHaEI7O0E2Qi9wR0E7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLDJCQUEyQjtBN0JrcUc3Qjs7QTZCcnFHQTtFQU1JLFdBQVc7QTdCbXFHZjs7QTZCL3BHQTs7RUFJSSxpQjFCbU02QjtBSDY5RmpDOztBNkJwcUdBOztFbkJISSwwQm1CYThCO0VuQlo5Qiw2Qm1CWThCO0E3QmdxR2xDOztBNkIxcUdBOztFbkJXSSx5Qm1CSTZCO0VuQkg3Qiw0Qm1CRzZCO0E3QmlxR2pDOztBNkJqcEdBO0VBQ0Usd0JBQW1DO0VBQ25DLHVCQUFrQztBN0JvcEdwQzs7QTZCdHBHQTs7O0VBT0ksY0FBYztBN0JxcEdsQjs7QTZCbHBHRTtFQUNFLGVBQWU7QTdCcXBHbkI7O0E2QmpwR0E7RUFDRSx1QkFBc0M7RUFDdEMsc0JBQXFDO0E3Qm9wR3ZDOztBNkJqcEdBO0VBQ0Usc0JBQXNDO0VBQ3RDLHFCQUFxQztBN0JvcEd2Qzs7QTZCaG9HQTtFQUNFLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsdUJBQXVCO0E3Qm1vR3pCOztBNkJ0b0dBOztFQU9JLFdBQVc7QTdCb29HZjs7QTZCM29HQTs7RUFZSSxnQjFCa0g2QjtBSGtoR2pDOztBNkJocEdBOztFbkJyRUksNkJtQnVGK0I7RW5CdEYvQiw0Qm1Cc0YrQjtBN0Jvb0duQzs7QTZCdHBHQTs7RW5CbkZJLHlCbUIwRzRCO0VuQnpHNUIsMEJtQnlHNEI7QTdCcW9HaEM7O0E2QnBuR0E7O0VBR0ksZ0JBQWdCO0E3QnNuR3BCOztBNkJ6bkdBOzs7O0VBT00sa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixvQkFBb0I7QTdCeW5HMUI7O0E4Qmx4R0E7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsV0FBVztBOUJxeEdiOztBOEIxeEdBOzs7O0VBV0ksa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxTQUFTO0VBQ1QsWUFBWTtFQUNaLGdCQUFnQjtBOUJzeEdwQjs7QThCcnlHQTs7Ozs7Ozs7Ozs7O0VBb0JNLGlCM0JrTjJCO0FIOGtHakM7O0E4QnB6R0E7OztFQTRCSSxVQUFVO0E5Qjh4R2Q7O0E4QjF6R0E7RUFpQ0ksVUFBVTtBOUI2eEdkOztBOEI5ekdBOztFcEIwQ0kseUJvQkptRDtFcEJLbkQsNEJvQkxtRDtBOUI4eEd2RDs7QThCcDBHQTtFQTRDSSxhQUFhO0VBQ2IsbUJBQW1CO0E5QjR4R3ZCOztBOEJ6MEdBOztFcEI0QkksMEJvQm9CNkU7RXBCbkI3RSw2Qm9CbUI2RTtBOUIreEdqRjs7QThCLzBHQTtFcEIwQ0kseUJvQk9zRTtFcEJOdEUsNEJvQk1zRTtBOUJteUcxRTs7QThCcDFHQTs7OztFcEI0QkksMEJvQjZCZ0M7RXBCNUJoQyw2Qm9CNEJnQztBOUJteUdwQzs7QThCNTFHQTs7OztFcEI0QkksMEJvQnNDZ0M7RXBCckNoQyw2Qm9CcUNnQztBOUJreUdwQzs7QThCdHhHQTs7RUFFRSxhQUFhO0E5Qnl4R2Y7O0E4QjN4R0E7O0VBUUksa0JBQWtCO0VBQ2xCLFVBQVU7QTlCd3hHZDs7QThCanlHQTs7RUFZTSxVQUFVO0E5QjB4R2hCOztBOEJ0eUdBOzs7Ozs7OztFQW9CSSxpQjNCb0k2QjtBSHlwR2pDOztBOEJ6eEdBO0VBQXVCLGtCM0JnSVU7QUg2cEdqQzs7QThCNXhHQTtFQUFzQixpQjNCK0hXO0FIaXFHakM7O0E4Qnh4R0E7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHlCM0I0UWtDO0UyQjNRbEMsZ0JBQWdCO0UxQjJEWixlQUFXO0UwQnpEZixnQjNCcUsrQjtFMkJwSy9CLGdCM0J5SytCO0UyQnhLL0IsYzNCL0dnQjtFMkJnSGhCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUIzQnZIZ0I7RTJCd0hoQix5QjNCdEhnQjtFT09kLHNCUDZOZ0M7QUg4cUdwQzs7QThCeHlHQTs7RUFrQkksYUFBYTtBOUIyeEdqQjs7QThCanhHQTs7RUFFRSxnQ1p6QjhEO0FsQjZ5R2hFOztBOEJqeEdBOzs7Ozs7RUFNRSxvQjNCdVBnQztFQy9ONUIsa0JBQVc7RTBCdEJmLGdCM0IyRStCO0VPdk43QixxQlA4TitCO0FIbXNHbkM7O0E4Qmp4R0E7O0VBRUUsa0NaMUM4RDtBbEI4ekdoRTs7QThCanhHQTs7Ozs7O0VBTUUsdUIzQmlPaUM7RUMxTjdCLG1CQUFXO0UwQkxmLGdCM0IyRCtCO0VPeE43QixxQlArTitCO0FIbXRHbkM7O0E4Qmp4R0E7O0VBRUUsc0JBQTBFO0E5Qm94RzVFOztBOEJ6d0dBOzs7Ozs7OztFcEI5SkksMEJvQnNLNEI7RXBCcks1Qiw2Qm9CcUs0QjtBOUI2d0doQzs7QThCMXdHQTs7Ozs7O0VwQjNKSSx5Qm9CaUsyQjtFcEJoSzNCLDRCb0JnSzJCO0E5Qjh3Ry9COztBK0J0OUdBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixjQUFjO0VBQ2Qsa0JBQStDO0VBQy9DLG9CQUFxRTtFQUNyRSx5QkFBeUI7QS9CeTlHM0I7O0ErQnQ5R0E7RUFDRSxvQkFBb0I7RUFDcEIsa0I1QnlmMEM7QUhnK0Y1Qzs7QStCdDlHQTtFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFc1QnFmMEM7RTRCcGYxQyxlQUFtRjtFQUNuRixVQUFVO0EvQnk5R1o7O0ErQi85R0E7RUFTSSxXNUJ6Qlc7RTRCMEJYLHFCNUJFYTtFbUI3QmIseUJuQjZCYTtBSHk5R2pCOztBK0JyK0dBO0VBb0JNLGdENUJSVztBSDY5R2pCOztBK0J6K0dBO0VBeUJJLHFCNUJzYnNFO0FIOGhHMUU7O0ErQjcrR0E7RUE2QkksVzVCN0NXO0U0QjhDWCx5QjVCa2Y4RTtFNEJqZjlFLHFCNUJpZjhFO0FIbStGbEY7O0ErQm4vR0E7RUF1Q00sYzVCakRZO0FIaWdIbEI7O0ErQnYvR0E7RUEwQ1EseUI1QnhEVTtBSHlnSGxCOztBK0J2OEdBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUVoQixtQkFBbUI7QS9CeThHckI7O0ErQjc4R0E7RUFTSSxrQkFBa0I7RUFDbEIsWUFBZ0Y7RUFDaEYsYUFBK0Q7RUFDL0QsY0FBYztFQUNkLFc1Qndid0M7RTRCdmJ4QyxZNUJ1YndDO0U0QnRieEMsb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxzQjVCckZXO0U0QnNGWCx5QjVCakZjO0FIeWhIbEI7O0ErQjE5R0E7RUF3Qkksa0JBQWtCO0VBQ2xCLFlBQWdGO0VBQ2hGLGFBQStEO0VBQy9ELGNBQWM7RUFDZCxXNUJ5YXdDO0U0QnhheEMsWTVCd2F3QztFNEJ2YXhDLFdBQVc7RUFDWCxtQ0FBZ0U7QS9CczhHcEU7O0ErQjc3R0E7RXJCakdJLHNCUDZOZ0M7QUhxMEdwQzs7QStCajhHQTtFQU9NLGtPYjdENEU7QWxCMi9HbEY7O0ErQnI4R0E7RUFhTSxxQjVCN0ZXO0VtQjdCYix5Qm5CNkJhO0FIMGhIakI7O0ErQjE4R0E7RUFrQk0sK0tieEU0RTtBbEJvZ0hsRjs7QStCOThHQTtFVDdHSSx3Q25CNkJhO0FIa2lIakI7O0ErQmw5R0E7RVQ3R0ksd0NuQjZCYTtBSHNpSGpCOztBK0JsN0dBO0VBR0ksa0I1QjBaK0M7QUh5aEduRDs7QStCdDdHQTtFQVFNLDhLYmxHNEU7QWxCb2hIbEY7O0ErQjE3R0E7RVRqSkksd0NuQjZCYTtBSGtqSGpCOztBK0J0NkdBO0VBQ0UscUJBQTJEO0EvQnk2RzdEOztBK0IxNkdBO0VBS00sY0FBcUQ7RUFDckQsYzVCa1krRTtFNEJqWS9FLG1CQUFtQjtFQUVuQixxQjVCZ1k2RTtBSHdpR25GOztBK0JqN0dBO0VBYU0sd0JibEUwRDtFYW1FMUQsMEJibkUwRDtFYW9FMUQsdUJiNUMwRDtFYTZDMUQsd0JiN0MwRDtFYThDMUQseUI1QnBMWTtFNEJzTFoscUI1QnNYNkU7RWlCeGlCN0UseUlqQjBmK0g7QUhnbUdySTs7QW9CdGxITTtFVzJKTjtJWDFKUSxnQkFBZ0I7RXBCMGxIdEI7QUFDRjs7QStCajhHQTtFQTBCTSxzQjVCbE1TO0U0Qm1NVCw4QkFBNEU7QS9CMjZHbEY7O0ErQnQ4R0E7RVR6S0ksd0NuQjZCYTtBSHNsSGpCOztBK0I3NUdBO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2JyRzhEO0Vhc0c5RCwwQzVCb0trQztFQ2hOOUIsZUFBVztFMkIrQ2YsZ0I1QjZEK0I7RTRCNUQvQixnQjVCaUUrQjtFNEJoRS9CLGM1QnZOZ0I7RTRCd05oQixzQkFBc0I7RUFDdEIsdU81Qm1XK0k7RTRCbFcvSSx5QjVCN05nQjtFT09kLHNCUDZOZ0M7RTRCSmxDLGdCQUFnQjtBL0I4NUdsQjs7QStCNzZHQTtFQWtCSSxxQjVCd1BzRTtFNEJ2UHRFLFVBQVU7RUFLUixnRDVCak5XO0FING1IakI7O0ErQm43R0E7RUFpQ00sYzVCL09ZO0U0QmdQWixzQjVCdlBTO0FINm9IZjs7QStCeDdHQTtFQXdDSSxZQUFZO0VBQ1osc0I1QitIZ0M7RTRCOUhoQyxzQkFBc0I7QS9CbzVHMUI7O0ErQjk3R0E7RUE4Q0ksYzVCN1BjO0U0QjhQZCx5QjVCbFFjO0FIc3BIbEI7O0ErQm44R0E7RUFvREksYUFBYTtBL0JtNUdqQjs7QStCdjhHQTtFQXlESSxrQkFBa0I7RUFDbEIsMEI1QnhRYztBSDBwSGxCOztBK0I5NEdBO0VBQ0Usa0Niaks4RDtFYWtLOUQsb0I1QmlIa0M7RTRCaEhsQyx1QjVCZ0hrQztFNEIvR2xDLG9CNUJnSGlDO0VDMU43QixtQkFBVztBSjQvR2pCOztBK0I5NEdBO0VBQ0UsZ0Nieks4RDtFYTBLOUQsbUI1QjhHaUM7RTRCN0dqQyxzQjVCNkdpQztFNEI1R2pDLGtCNUI2R2dDO0VDL041QixrQkFBVztBSm9nSGpCOztBK0J6NEdBO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNiekw4RDtFYTBMOUQsZ0JBQWdCO0EvQjQ0R2xCOztBK0J6NEdBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsbUNiak04RDtFYWtNOUQsU0FBUztFQUNULGdCQUFnQjtFQUNoQixVQUFVO0EvQjQ0R1o7O0ErQm41R0E7RUFVSSxxQjVCcUtzRTtFNEJwS3RFLGdENUIvUmE7QUg0cUhqQjs7QStCeDVHQTs7RUFpQkkseUI1Qi9UYztBSDJzSGxCOztBK0I3NUdBO0VBc0JNLGlCNUI0VFE7QUgra0dkOztBK0JqNkdBO0VBMkJJLDBCQUEwQjtBL0IwNEc5Qjs7QStCdDRHQTtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLE9BQU87RUFDUCxVQUFVO0VBQ1YsbUNibE84RDtFYW1POUQseUI1QnVDa0M7RTRCdENsQyxnQkFBZ0I7RUFFaEIsZ0I1QmhFK0I7RTRCaUUvQixnQjVCNUQrQjtFNEI2RC9CLGM1QnBWZ0I7RTRCcVZoQixzQjVCNVZhO0U0QjZWYix5QjVCelZnQjtFT09kLHNCUDZOZ0M7QUg4L0dwQzs7QStCdjVHQTtFQW1CSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsVUFBVTtFQUNWLGNBQWM7RUFDZCw2QmJyUDREO0Vhc1A1RCx5QjVCb0JnQztFNEJuQmhDLGdCNUI1RTZCO0U0QjZFN0IsYzVCcFdjO0U0QnFXZCxpQkFBaUI7RVQ3V2pCLHlCbkJHYztFNEI0V2Qsb0JBQW9CO0VyQm5XcEIsa0NxQm9XZ0Y7QS9CdzRHcEY7O0ErQjkzR0E7RUFDRSxXQUFXO0VBQ1gsY2IzUTJCO0VhNFEzQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLGdCQUFnQjtBL0JpNEdsQjs7QStCdDRHQTtFQVFJLFVBQVU7QS9CazRHZDs7QStCMTRHQTtFQVk4QixnRTVCeldiO0FIMnVIakI7O0ErQjk0R0E7RUFhOEIsZ0U1QjFXYjtBSCt1SGpCOztBK0JsNUdBO0VBYzhCLGdFNUIzV2I7QUhtdkhqQjs7QStCdDVHQTtFQWtCSSxTQUFTO0EvQnc0R2I7O0ErQjE1R0E7RUFzQkksVzVCb042QztFNEJuTjdDLFk1Qm1ONkM7RTRCbE43QyxvQkFBMEU7RVRsWjFFLHlCbkI2QmE7RTRCdVhiLFM1Qm1OMEM7RU8zbEIxQyxtQlA0bEI2QztFaUI5bEIzQyw0R2pCMGYrSDtFNEI1R2pJLGdCQUFnQjtBL0J1NEdwQjs7QW9CanhITTtFVzRXTjtJWDNXUSxnQkFBZ0I7RXBCcXhIdEI7QUFDRjs7QStCMzZHQTtFVDFYSSx5Qm5CNG1CMkU7QUg2ckcvRTs7QStCLzZHQTtFQXNDSSxXNUI2TG9DO0U0QjVMcEMsYzVCNkxxQztFNEI1THJDLGtCQUFrQjtFQUNsQixlNUI0THVDO0U0QjNMdkMseUI1QmhhYztFNEJpYWQseUJBQXlCO0VyQnpaekIsbUJQcWxCb0M7QUhrdEd4Qzs7QStCejdHQTtFQWlESSxXNUJ5TDZDO0U0QnhMN0MsWTVCd0w2QztFbUJwbUI3Qyx5Qm5CNkJhO0U0QmlaYixTNUJ5TDBDO0VPM2xCMUMsbUJQNGxCNkM7RWlCOWxCM0MsNEdqQjBmK0g7RTRCbEZqSSxnQkFBZ0I7QS9CMjRHcEI7O0FvQi95SE07RVc0V047SVgzV1EsZ0JBQWdCO0VwQm16SHRCO0FBQ0Y7O0ErQno4R0E7RVQxWEkseUJuQjRtQjJFO0FIMnRHL0U7O0ErQjc4R0E7RUFnRUksVzVCbUtvQztFNEJsS3BDLGM1Qm1LcUM7RTRCbEtyQyxrQkFBa0I7RUFDbEIsZTVCa0t1QztFNEJqS3ZDLHlCNUIxYmM7RTRCMmJkLHlCQUF5QjtFckJuYnpCLG1CUHFsQm9DO0FIZ3ZHeEM7O0ErQnY5R0E7RUEyRUksVzVCK0o2QztFNEI5SjdDLFk1QjhKNkM7RTRCN0o3QyxhQUFhO0VBQ2Isb0I1QnJFK0I7RTRCc0UvQixtQjVCdEUrQjtFbUJuWS9CLHlCbkI2QmE7RTRCOGFiLFM1QjRKMEM7RU8zbEIxQyxtQlA0bEI2QztFaUI5bEIzQyw0R2pCMGYrSDtFNEJyRGpJLGdCQUFnQjtBL0IrNEdwQjs7QW9CaDFITTtFVzRXTjtJWDNXUSxnQkFBZ0I7RXBCbzFIdEI7QUFDRjs7QStCMStHQTtFVDFYSSx5Qm5CNG1CMkU7QUg0dkcvRTs7QStCOStHQTtFQTZGSSxXNUJzSW9DO0U0QnJJcEMsYzVCc0lxQztFNEJySXJDLGtCQUFrQjtFQUNsQixlNUJxSXVDO0U0QnBJdkMsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QixvQkFBNkM7QS9CcTVHakQ7O0ErQngvR0E7RUF3R0kseUI1QjlkYztFT1FkLG1CUHFsQm9DO0FIc3hHeEM7O0ErQjcvR0E7RUE2R0ksa0JBQWtCO0VBQ2xCLHlCNUJwZWM7RU9RZCxtQlBxbEJvQztBSDR4R3hDOztBK0JuZ0hBO0VBb0hNLHlCNUJ4ZVk7QUgyM0hsQjs7QStCdmdIQTtFQXdITSxlQUFlO0EvQm01R3JCOztBK0IzZ0hBO0VBNEhNLHlCNUJoZlk7QUhtNEhsQjs7QStCL2dIQTtFQWdJTSxlQUFlO0EvQm01R3JCOztBK0JuaEhBO0VBb0lNLHlCNUJ4Zlk7QUgyNEhsQjs7QStCOTRHQTs7O0VYemZNLDRHakIwZitIO0FIbTVHckk7O0FvQno0SE07RVdxZk47OztJWHBmUSxnQkFBZ0I7RXBCKzRIdEI7QUFDRjs7QWdDaDZIQTtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0I7QWhDbTZIbEI7O0FnQ2g2SEE7RUFDRSxjQUFjO0VBQ2Qsb0I3QjBxQnNDO0FIeXZHeEM7O0FLbDZIRTtFMkJHRSxxQkFBcUI7QWhDbTZIekI7O0FnQ3o2SEE7RUFXSSxjN0JYYztFNkJZZCxvQkFBb0I7RUFDcEIsZUFBZTtBaENrNkhuQjs7QWdDMTVIQTtFQUNFLGdDN0J6QmdCO0FIczdIbEI7O0FnQzk1SEE7RUFJSSxtQjdCc002QjtFNkJyTTdCLDZCQUE2QjtFQUM3Qiw2QkFBZ0Q7RXRCYmhELCtCUG9OZ0M7RU9uTmhDLGdDUG1OZ0M7QUh5dEhwQzs7QUt4N0hFO0UyQjZCSSxrQkFBa0I7RUFDbEIscUM3QnBDWTtBSG04SGxCOztBZ0MzNkhBO0VBZ0JNLGM3QnJDWTtFNkJzQ1osNkJBQTZCO0VBQzdCLHlCQUF5QjtBaEMrNUgvQjs7QWdDajdIQTs7RUF3QkksYzdCNUNjO0U2QjZDZCxzQjdCcERXO0U2QnFEWCxrQzdCckRXO0FIbTlIZjs7QWdDeDdI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Qjs7QWlDcG5JQTtFQW9DWSxxQjlCeWhCNkI7RThCeGhCN0Isb0I5QndoQjZCO0FINGpIekM7O0FpQ3puSUE7O0VBMkNVLGlCQUFpQjtBakNtbEkzQjs7QWlDOW5JQTtFQTBEVSxpQkFBaUI7QWpDd2tJM0I7O0FpQ2xvSUE7RUE4RFUsd0JBQXdCO0VBR3hCLGdCQUFnQjtBakNza0kxQjs7QWlDdm9JQTtFQXFFVSxhQUFhO0FqQ3NrSXZCOztBaUN6aklBO0VBRUkseUI5QnZOVztBSGt4SWY7O0FLbnhJRTtFNEIyTkkseUI5QjFOUztBSHN4SWY7O0FpQ2prSUE7RUFXTSx5QjlCaE9TO0FIMHhJZjs7QUszeElFO0U0Qm9PTSx5QjlCbk9PO0FIOHhJZjs7QWlDemtJQTtFQWtCUSx5QjlCdk9PO0FIa3lJZjs7QWlDN2tJQTs7OztFQTBCTSx5QjlCL09TO0FIeXlJZjs7QWlDcGxJQTtFQStCSSx5QjlCcFBXO0U4QnFQWCxnQzlCclBXO0FIOHlJZjs7QWlDemxJQTtFQW9DSSxtUmY3TThFO0FsQnN3SWxGOztBaUM3bElBO0VBd0NJLHlCOUI3UFc7QUhzeklmOztBaUNqbUlBO0VBMENNLHlCOUIvUFM7QUgweklmOztBSzN6SUU7RTRCbVFNLHlCOUJsUU87QUg4eklmOztBaUNyaklBO0VBRUksVzlCclJXO0FINDBJZjs7QUtuMElFO0U0QitRSSxXOUJ4UlM7QUhnMUlmOztBaUM3aklBO0VBV00sK0I5QjlSUztBSG8xSWY7O0FLMzBJRTtFNEJ3Uk0sZ0M5QmpTTztBSHcxSWY7O0FpQ3JrSUE7RUFrQlEsZ0M5QnJTTztBSDQxSWY7O0FpQ3prSUE7Ozs7RUEwQk0sVzlCN1NTO0FIbTJJZjs7QWlDaGxJQTtFQStCSSwrQjlCbFRXO0U4Qm1UWCxzQzlCblRXO0FIdzJJZjs7QWlDcmxJQTtFQW9DSSx5UmZqUThFO0FsQnN6SWxGOztBaUN6bElBO0VBd0NJLCtCOUIzVFc7QUhnM0lmOztBaUM3bElBO0VBMENNLFc5QjdUUztBSG8zSWY7O0FLMzJJRTtFNEJ1VE0sVzlCaFVPO0FIdzNJZjs7QWtDMzNJQTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFFWixxQkFBcUI7RUFDckIsc0IvQkphO0UrQktiLDJCQUEyQjtFQUMzQixzQy9CSWE7RU9DWCxzQlA2TmdDO0FINHBJcEM7O0FrQ3Y0SUE7RUFhSSxlQUFlO0VBQ2YsY0FBYztBbEM4M0lsQjs7QWtDNTRJQTtFQWtCSSxtQkFBbUI7RUFDbkIsc0JBQXNCO0FsQzgzSTFCOztBa0NqNUlBO0VBc0JNLG1CQUFtQjtFeEJDckIsMkNRdUg0RDtFUnRINUQsNENRc0g0RDtBbEJ5d0loRTs7QWtDdjVJQTtFQTJCTSxzQkFBc0I7RXhCVXhCLCtDUXlHNEQ7RVJ4RzVELDhDUXdHNEQ7QWxCK3dJaEU7O0FrQzc1SUE7O0VBb0NJLGFBQWE7QWxDODNJakI7O0FrQzEzSUE7RUFHRSxjQUFjO0VBR2QsZUFBZTtFQUNmLGdCL0JneEJ5QztBSHltSDNDOztBa0NyM0lBO0VBQ0Usc0IvQjB3QndDO0FIOG1IMUM7O0FrQ3IzSUE7RUFDRSxxQkFBZ0M7RUFDaEMsZ0JBQWdCO0FsQ3czSWxCOztBa0NyM0lBO0VBQ0UsZ0JBQWdCO0FsQ3czSWxCOztBSzc2SUU7RTZCMERFLHFCQUFxQjtBbEN1M0l6Qjs7QWtDejNJQTtFQU1JLG9CL0J5dkJ1QztBSDhuSDNDOztBa0MvMklBO0VBQ0Usd0IvQmd2QnlDO0UrQi91QnpDLGdCQUFnQjtFQUVoQixxQy9CckVhO0UrQnNFYiw2Qy9CdEVhO0FIdTdJZjs7QWtDdDNJQTtFeEJoRUksMER3QndFOEU7QWxDazNJbEY7O0FrQzkySUE7RUFDRSx3Qi9Cb3VCeUM7RStCbHVCekMscUMvQmhGYTtFK0JpRmIsMEMvQmpGYTtBSGk4SWY7O0FrQ3AzSUE7RXhCNUVJLDBEUWdJNEQ7QWxCbzBJaEU7O0FrQ3gySUE7RUFDRSx1QkFBa0M7RUFDbEMsdUIvQmt0QndDO0UrQmp0QnhDLHNCQUFpQztFQUNqQyxnQkFBZ0I7QWxDMjJJbEI7O0FrQ3gySUE7RUFDRSx1QkFBa0M7RUFDbEMsc0JBQWlDO0FsQzIySW5DOztBa0N2MklBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxnQi9CNnNCeUM7RU81ekJ2QyxrQ1FnSTREO0FsQjAxSWhFOztBa0N2MklBOzs7RUFHRSxjQUFjO0VBQ2QsV0FBVztBbEMwMkliOztBa0N2MklBOztFeEJqSEksMkNRdUg0RDtFUnRINUQsNENRc0g0RDtBbEJ1MkloRTs7QWtDeDJJQTs7RXhCeEdJLCtDUXlHNEQ7RVJ4RzVELDhDUXdHNEQ7QWxCNjJJaEU7O0FrQ3QySUE7RUFFSSxtQi9CcXJCdUQ7QUhtckgzRDs7QWN2OElJO0VvQjZGSjtJQU1JLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUIvQitxQnVEO0krQjlxQnZELGtCL0I4cUJ1RDtFSDJySHpEO0VrQ2wzSUY7SUFhTSxZQUFZO0lBQ1osa0IvQnlxQnFEO0krQnhxQnJELGdCQUFnQjtJQUNoQixpQi9CdXFCcUQ7RUhpc0h6RDtBQUNGOztBa0MvMUlBO0VBSUksbUIvQnlwQnVEO0FIc3NIM0Q7O0FjMTlJSTtFb0J1SEo7SUFRSSxhQUFhO0lBQ2IsbUJBQW1CO0VsQ2cySXJCO0VrQ3oySUY7SUFjTSxZQUFZO0lBQ1osZ0JBQWdCO0VsQzgxSXBCO0VrQzcySUY7SUFrQlEsY0FBYztJQUNkLGNBQWM7RWxDODFJcEI7RWtDajNJRjtJeEJqSkksMEJ3QjBLb0M7SXhCektwQyw2QndCeUtvQztFbEM0MUl0QztFa0NyM0lGOztJQThCWSwwQkFBMEI7RWxDMjFJcEM7RWtDejNJRjs7SUFtQ1ksNkJBQTZCO0VsQzAxSXZDO0VrQzczSUY7SXhCbklJLHlCd0IyS21DO0l4QjFLbkMsNEJ3QjBLbUM7RWxDeTFJckM7RWtDajRJRjs7SUE2Q1kseUJBQXlCO0VsQ3cxSW5DO0VrQ3I0SUY7O0lBa0RZLDRCQUE0QjtFbEN1MUl0QztBQUNGOztBa0MzMElBO0VBRUksc0IvQjhrQnNDO0FIK3ZIMUM7O0FjcmdKSTtFb0JzTEo7SUFNSSxlL0IybEJpQztJK0IxbEJqQyxtQi9CMmxCdUM7SStCMWxCdkMsVUFBVTtJQUNWLFNBQVM7RWxDODBJWDtFa0N2MUlGO0lBWU0scUJBQXFCO0lBQ3JCLFdBQVc7RWxDODBJZjtBQUNGOztBa0NyMElBO0VBQ0UscUJBQXFCO0FsQ3cwSXZCOztBa0N6MElBO0VBSUksZ0JBQWdCO0FsQ3kwSXBCOztBa0M3MElBO0VBT00sZ0JBQWdCO0V4QnZPbEIsNkJ3QndPaUM7RXhCdk9qQyw0QndCdU9pQztBbEMyMElyQzs7QWtDbjFJQTtFeEI5T0kseUJ3QjBQOEI7RXhCelA5QiwwQndCeVA4QjtBbEM0MElsQzs7QWtDeDFJQTtFeEJ2UEksZ0J3QnVRMEI7RUFDeEIsbUIvQjlDMkI7QUgwM0lqQzs7QW1DdG1KQTtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YscUJoQ21pQ3NDO0VnQ2xpQ3RDLG1CaENxaUNzQztFZ0NuaUN0QyxnQkFBZ0I7RUFDaEIseUJoQ0VnQjtFT1NkLHNCUDZOZ0M7QUhpNElwQzs7QW1Dcm1KQTtFQUdJLG9CaEN5aENxQztBSDZrSHpDOztBbUN6bUpBO0VBTU0sV0FBVztFQUNYLHFCaENxaENtQztFZ0NwaENuQyxjaENOWTtFZ0NPWixZaEMwaEN1QztBSDZrSDdDOztBbUNobkpBO0VBb0JJLDBCQUEwQjtBbkNnbUo5Qjs7QW1DcG5KQTtFQXdCSSxxQkFBcUI7QW5DZ21KekI7O0FtQ3huSkE7RUE0QkksY2hDMUJjO0FIMG5KbEI7O0FvQ3ZvSkE7RUFDRSxhQUFhO0U3QkdiLGVBQWU7RUFDZixnQkFBZ0I7RUdhZCxzQlA2TmdDO0FIKzVJcEM7O0FvQ3hvSkE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHVCakNpeEJ3QztFaUNoeEJ4QyxpQmpDa08rQjtFaUNqTy9CLGlCakNveEJzQztFaUNueEJ0QyxjakN1QmU7RWlDckJmLHNCakNQYTtFaUNRYix5QmpDTGdCO0FIK29KbEI7O0FvQ25wSkE7RUFZSSxVQUFVO0VBQ1YsY2pDOEo4RDtFaUM3SjlELHFCQUFxQjtFQUNyQix5QmpDWmM7RWlDYWQscUJqQ1pjO0FIdXBKbEI7O0FvQzNwSkE7RUFvQkksVUFBVTtFQUNWLFVqQzR3QmlDO0VpQzN3QmpDLGdEakNPYTtBSG9vSmpCOztBb0N2b0pBO0VBR00sY0FBYztFMUJhaEIsK0JQK0xnQztFTzlMaEMsa0NQOExnQztBSDg3SXBDOztBb0M3b0pBO0UxQkVJLGdDUDZNZ0M7RU81TWhDLG1DUDRNZ0M7QUhtOElwQzs7QW9DbHBKQTtFQWNJLFVBQVU7RUFDVixXakN4Q1c7RWlDeUNYLHlCakNiYTtFaUNjYixxQmpDZGE7QUhzcEpqQjs7QW9DenBKQTtFQXFCSSxjakN4Q2M7RWlDeUNkLG9CQUFvQjtFQUVwQixZQUFZO0VBQ1osc0JqQ2xEVztFaUNtRFgscUJqQ2hEYztBSHVySmxCOztBcUM5ckpFO0VBQ0UsdUJsQzB4QnNDO0VDMW1CcEMsa0JBQVc7RWlDOUtiLGdCbENtTzZCO0FIODlJakM7O0FxQzVySk07RTNCcUNGLDhCUGdNK0I7RU8vTC9CLGlDUCtMK0I7QUg0OUluQzs7QXFDNXJKTTtFM0JrQkYsK0JQOE0rQjtFTzdNL0Isa0NQNk0rQjtBSGkrSW5DOztBcUM5c0pFO0VBQ0UsdUJsQ3d4QnFDO0VDeG1CbkMsbUJBQVc7RWlDOUtiLGdCbENvTzZCO0FINitJakM7O0FxQzVzSk07RTNCcUNGLDhCUGlNK0I7RU9oTS9CLGlDUGdNK0I7QUgyK0luQzs7QXFDNXNKTTtFM0JrQkYsK0JQK00rQjtFTzlNL0Isa0NQOE0rQjtBSGcvSW5DOztBc0M1dEpBO0VBQ0UscUJBQXFCO0VBQ3JCLHFCbkM0NUJzQztFQy92QnBDLGNBQVc7RWtDM0piLGdCbkN3UitCO0VtQ3ZSL0IsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0U1Qkt0QixzQlA2TmdDO0VpQi9OOUIscUlqQmliNkk7QUg2eUluSjs7QW9CMXRKTTtFa0JmTjtJbEJnQlEsZ0JBQWdCO0VwQjh0SnRCO0FBQ0Y7O0FLcHVKRTtFaUNHSSxxQkFBcUI7QXRDcXVKM0I7O0FzQ252SkE7RUFvQkksYUFBYTtBdENtdUpqQjs7QXNDOXRKQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0F0Q2l1Slg7O0FzQzF0SkE7RUFDRSxvQm5DaTRCc0M7RW1DaDRCdEMsbUJuQ2c0QnNDO0VPdjVCcEMsb0JQMDVCcUM7QUgyMUh6Qzs7QXNDcnRKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDaUNlO0FIeXVKakI7O0FLNXZKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDMHdKeEM7O0F1Qzd3SlU7RUFRSixVQUFVO0VBQ1YsK0NwQ3NCVztBSG12SmpCOztBc0NwdUpFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENXZ0I7QUg4d0psQjs7QUszd0pFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBdkN5eEp4Qzs7QXVDNXhKVTtFQVFKLFVBQVU7RUFDVixpRHBDQVk7QUh3eEpsQjs7QXNDbnZKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDd0NlO0FIZ3dKakI7O0FLMXhKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDd3lKeEM7O0F1QzN5SlU7RUFRSixVQUFVO0VBQ1YsK0NwQzZCVztBSDB3SmpCOztBc0Nsd0pFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcEMwQ2U7QUg2d0pqQjs7QUt6eUpFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBdkN1ekp4Qzs7QXVDMXpKVTtFQVFKLFVBQVU7RUFDVixnRHBDK0JXO0FIdXhKakI7O0FzQ2p4SkU7RUNqREEsY3BDZWdCO0VvQ2RoQix5QnBDdUNlO0FIK3hKakI7O0FLeHpKRTtFa0NWSSxjcENVWTtFb0NUWix5QkFBa0M7QXZDczBKeEM7O0F1Q3owSlU7RUFRSixVQUFVO0VBQ1YsK0NwQzRCVztBSHl5SmpCOztBc0NoeUpFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENxQ2U7QUhnekpqQjs7QUt2MEpFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBdkNxMUp4Qzs7QXVDeDFKVTtFQVFKLFVBQVU7RUFDViwrQ3BDMEJXO0FIMHpKakI7O0FzQy95SkU7RUNqREEsY3BDZWdCO0VvQ2RoQix5QnBDTWdCO0FIODFKbEI7O0FLdDFKRTtFa0NWSSxjcENVWTtFb0NUWix5QkFBa0M7QXZDbzJKeEM7O0F1Q3YySlU7RUFRSixVQUFVO0VBQ1YsaURwQ0xZO0FIdzJKbEI7O0FzQzl6SkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ2FnQjtBSHMySmxCOztBS3IySkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F2Q20zSnhDOztBdUN0M0pVO0VBUUosVUFBVTtFQUNWLDhDcENFWTtBSGczSmxCOztBd0MvM0pBO0VBQ0Usa0JBQXFEO0VBQ3JELG1CckN5ekJzQztFcUN2ekJ0Qyx5QnJDS2dCO0VPU2QscUJQOE4rQjtBSHNwSm5DOztBYzEwSkk7RTBCNURKO0lBUUksa0JyQ216Qm9DO0VIZ2xJdEM7QUFDRjs7QXdDaDRKQTtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0U5QkliLGdCOEJIc0I7QXhDbTRKMUI7O0F5Qzk0SkE7RUFDRSxrQkFBa0I7RUFDbEIsd0J0Q3k5QnlDO0VzQ3g5QnpDLG1CdEN5OUJzQztFc0N4OUJ0Qyw2QkFBNkM7RS9CVTNDLHNCUDZOZ0M7QUgycUpwQzs7QXlDNzRKQTtFQUVFLGNBQWM7QXpDKzRKaEI7O0F5QzM0SkE7RUFDRSxnQnRDNlErQjtBSGlvSmpDOztBeUN0NEpBO0VBQ0UsbUJBQXNEO0F6Q3k0SnhEOztBeUMxNEpBO0VBS0ksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsVUFBVTtFQUNWLHdCdEMwN0J1QztFc0N6N0J2QyxjQUFjO0F6Q3k0SmxCOztBeUMvM0pFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEI0MEpsRTs7QTBDaDdKRTtFQUNFLHlCQUFxQztBMUNtN0p6Qzs7QTBDaDdKRTtFQUNFLGNBQTBCO0ExQ203SjlCOztBeUM3NEpFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEIwMUpsRTs7QTBDOTdKRTtFQUNFLHlCQUFxQztBMUNpOEp6Qzs7QTBDOTdKRTtFQUNFLGNBQTBCO0ExQ2k4SjlCOztBeUMzNUpFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEJ3MkpsRTs7QTBDNThKRTtFQUNFLHlCQUFxQztBMUMrOEp6Qzs7QTBDNThKRTtFQUNFLGNBQTBCO0ExQys4SjlCOztBeUN6NkpFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEJzM0psRTs7QTBDMTlKRTtFQUNFLHlCQUFxQztBMUM2OUp6Qzs7QTBDMTlKRTtFQUNFLGNBQTBCO0ExQzY5SjlCOztBeUN2N0pFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEJvNEpsRTs7QTBDeCtKRTtFQUNFLHlCQUFxQztBMUMyK0p6Qzs7QTBDeCtKRTtFQUNFLGNBQTBCO0ExQzIrSjlCOztBeUNyOEpFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEJrNUpsRTs7QTBDdC9KRTtFQUNFLHlCQUFxQztBMUN5L0p6Qzs7QTBDdC9KRTtFQUNFLGNBQTBCO0ExQ3kvSjlCOztBeUNuOUpFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEJnNkpsRTs7QTBDcGdLRTtFQUNFLHlCQUFxQztBMUN1Z0t6Qzs7QTBDcGdLRTtFQUNFLGNBQTBCO0ExQ3VnSzlCOztBeUNqK0pFO0VDL0NBLGN4QndHZ0U7RUluRzlELHlCSm1HOEQ7RXdCdEdoRSxxQnhCc0dnRTtBbEI4NkpsRTs7QTBDbGhLRTtFQUNFLHlCQUFxQztBMUNxaEt6Qzs7QTBDbGhLRTtFQUNFLGNBQTBCO0ExQ3FoSzlCOztBMkM3aEtFO0VBQ0U7SUFBTywyQkFBdUM7RTNDaWlLaEQ7RTJDaGlLRTtJQUFLLHdCQUF3QjtFM0NtaUsvQjtBQUNGOztBMkNoaUtBO0VBQ0UsYUFBYTtFQUNiLFl4Q2srQnNDO0V3Q2orQnRDLGdCQUFnQjtFQUNoQixjQUFjO0V2Q3dLVixrQkFBVztFdUN0S2YseUJ4Q0xnQjtFT1NkLHNCUDZOZ0M7QUhtMEpwQzs7QTJDL2hLQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXeENqQmE7RXdDa0JiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJ4Q1FlO0VpQm5CWCwyQmpCbytCNEM7QUgwa0lsRDs7QW9CMWlLTTtFdUJETjtJdkJFUSxnQkFBZ0I7RXBCOGlLdEI7QUFDRjs7QTJDcmlLQTtFckJZRSxxTUFBNkk7RXFCVjdJLDBCeEMyOEJzQztBSDZsSXhDOztBMkNwaUtFO0VBQ0Usa0RBQThEO0EzQ3VpS2xFOztBMkNwaUtNO0VBSko7SUFLTSxlQUFlO0UzQ3dpS3JCO0FBQ0Y7O0E0Q25sS0E7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0E1Q3NsS3pCOztBNENubEtBO0VBQ0UsT0FBTztBNUNzbEtUOztBNkN4bEtBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUd0QixlQUFlO0VBQ2YsZ0JBQWdCO0VuQ1FkLHNCUDZOZ0M7QUhxM0pwQzs7QTZDaGxLQTtFQUNFLFdBQVc7RUFDWCxjMUNSZ0I7RTBDU2hCLG1CQUFtQjtBN0NtbEtyQjs7QUsxbEtFO0V3Q1dFLFVBQVU7RUFDVixjMUNkYztFMENlZCxxQkFBcUI7RUFDckIseUIxQ3RCYztBSHltS2xCOztBNkM3bEtBO0VBY0ksYzFDbEJjO0UwQ21CZCx5QjFDMUJjO0FINm1LbEI7O0E2QzFrS0E7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHdCMUNpOUJ5QztFMEM5OEJ6QyxzQjFDM0NhO0UwQzRDYixzQzFDbENhO0FINm1LZjs7QTZDbGxLQTtFbkNqQkksK0JtQzJCa0M7RW5DMUJsQyxnQ21DMEJrQztBN0M2a0t0Qzs7QTZDdmxLQTtFbkNISSxtQ21DaUJxQztFbkNoQnJDLGtDbUNnQnFDO0E3QzhrS3pDOztBNkM1bEtBO0VBbUJJLGMxQ2xEYztFMENtRGQsb0JBQW9CO0VBQ3BCLHNCMUMxRFc7QUh1b0tmOztBNkNsbUtBO0VBMEJJLFVBQVU7RUFDVixXMUNoRVc7RTBDaUVYLHlCMUNyQ2E7RTBDc0NiLHFCMUN0Q2E7QUhrbktqQjs7QTZDem1LQTtFQWlDSSxtQkFBbUI7QTdDNGtLdkI7O0E2QzdtS0E7RUFvQ00sZ0IxQzRKMkI7RTBDM0ozQixxQjFDMkoyQjtBSGs3SmpDOztBNkMvaktJO0VBQ0UsbUJBQW1CO0E3Q2trS3pCOztBNkNua0tJO0VuQ3RCQSxrQ1BzS2dDO0VPbExoQywwQm1Dd0N3QztBN0Nra0s1Qzs7QTZDeGtLSTtFbkNsQ0EsZ0NQa0xnQztFT3RLaEMsNEJtQ2lDMEM7QTdDa2tLOUM7O0E2QzdrS0k7RUFlTSxhQUFhO0E3Q2trS3ZCOztBNkNqbEtJO0VBbUJNLHFCMUMwSHVCO0UwQ3pIdkIsb0JBQW9CO0E3Q2trSzlCOztBNkN0bEtJO0VBdUJRLGlCMUNzSHFCO0UwQ3JIckIsc0IxQ3FIcUI7QUg4OEpqQzs7QWM5bktJO0UrQm1DQTtJQUNFLG1CQUFtQjtFN0MrbEt2QjtFNkNobUtFO0luQ3RCQSxrQ1BzS2dDO0lPbExoQywwQm1Dd0N3QztFN0M4bEsxQztFNkNwbUtFO0luQ2xDQSxnQ1BrTGdDO0lPdEtoQyw0Qm1DaUMwQztFN0M2bEs1QztFNkN4bUtFO0lBZU0sYUFBYTtFN0M0bEtyQjtFNkMzbUtFO0lBbUJNLHFCMUMwSHVCO0kwQ3pIdkIsb0JBQW9CO0U3QzJsSzVCO0U2Qy9tS0U7SUF1QlEsaUIxQ3NIcUI7STBDckhyQixzQjFDcUhxQjtFSHMrSi9CO0FBQ0Y7O0FjdnBLSTtFK0JtQ0E7SUFDRSxtQkFBbUI7RTdDd25LdkI7RTZDem5LRTtJbkN0QkEsa0NQc0tnQztJT2xMaEMsMEJtQ3dDd0M7RTdDdW5LMUM7RTZDN25LRTtJbkNsQ0EsZ0NQa0xnQztJT3RLaEMsNEJtQ2lDMEM7RTdDc25LNUM7RTZDam9LRTtJQWVNLGFBQWE7RTdDcW5LckI7RTZDcG9LRTtJQW1CTSxxQjFDMEh1QjtJMEN6SHZCLG9CQUFvQjtFN0Nvbks1QjtFNkN4b0tFO0lBdUJRLGlCMUNzSHFCO0kwQ3JIckIsc0IxQ3FIcUI7RUgrL0ovQjtBQUNGOztBY2hyS0k7RStCbUNBO0lBQ0UsbUJBQW1CO0U3Q2lwS3ZCO0U2Q2xwS0U7SW5DdEJBLGtDUHNLZ0M7SU9sTGhDLDBCbUN3Q3dDO0U3Q2dwSzFDO0U2Q3RwS0U7SW5DbENBLGdDUGtMZ0M7SU90S2hDLDRCbUNpQzBDO0U3QytvSzVDO0U2QzFwS0U7SUFlTSxhQUFhO0U3QzhvS3JCO0U2QzdwS0U7SUFtQk0scUIxQzBIdUI7STBDekh2QixvQkFBb0I7RTdDNm9LNUI7RTZDanFLRTtJQXVCUSxpQjFDc0hxQjtJMENySHJCLHNCMUNxSHFCO0VId2hLL0I7QUFDRjs7QWN6c0tJO0UrQm1DQTtJQUNFLG1CQUFtQjtFN0MwcUt2QjtFNkMzcUtFO0luQ3RCQSxrQ1BzS2dDO0lPbExoQywwQm1Dd0N3QztFN0N5cUsxQztFNkMvcUtFO0luQ2xDQSxnQ1BrTGdDO0lPdEtoQyw0Qm1DaUMwQztFN0N3cUs1QztFNkNucktFO0lBZU0sYUFBYTtFN0N1cUtyQjtFNkN0cktFO0lBbUJNLHFCMUMwSHVCO0kwQ3pIdkIsb0JBQW9CO0U3Q3NxSzVCO0U2QzFyS0U7SUF1QlEsaUIxQ3NIcUI7STBDckhyQixzQjFDcUhxQjtFSGlqSy9CO0FBQ0Y7O0E2Q3pwS0E7RW5DbkhJLGdCbUNvSHNCO0E3QzRwSzFCOztBNkM3cEtBO0VBSUkscUIxQ21HNkI7QUgwaktqQzs7QTZDanFLQTtFQU9NLHNCQUFzQjtBN0M4cEs1Qjs7QThDdnlLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEJzc0tsRTs7QUsveEtFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDMHlLakQ7O0E4Q2p6S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQml0S2xFOztBOEN2ektFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQnN0S2xFOztBSy95S0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUMwektqRDs7QThDajBLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCaXVLbEU7O0E4Q3YwS0U7RUFDRSxjNUJxRzhEO0U0QnBHOUQseUI1Qm9HOEQ7QWxCc3VLbEU7O0FLL3pLRTtFeUNQTSxjNUJnRzBEO0U0Qi9GMUQseUJBQXlDO0E5QzAwS2pEOztBOENqMUtFO0VBV00sVzNDUE87RTJDUVAseUI1QjBGMEQ7RTRCekYxRCxxQjVCeUYwRDtBbEJpdktsRTs7QThDdjFLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEJzdktsRTs7QUsvMEtFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDMDFLakQ7O0E4Q2oyS0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQml3S2xFOztBOEN2MktFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQnN3S2xFOztBSy8xS0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUMwMktqRDs7QThDajNLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCaXhLbEU7O0E4Q3YzS0U7RUFDRSxjNUJxRzhEO0U0QnBHOUQseUI1Qm9HOEQ7QWxCc3hLbEU7O0FLLzJLRTtFeUNQTSxjNUJnRzBEO0U0Qi9GMUQseUJBQXlDO0E5QzAzS2pEOztBOENqNEtFO0VBV00sVzNDUE87RTJDUVAseUI1QjBGMEQ7RTRCekYxRCxxQjVCeUYwRDtBbEJpeUtsRTs7QThDdjRLRTtFQUNFLGM1QnFHOEQ7RTRCcEc5RCx5QjVCb0c4RDtBbEJzeUtsRTs7QUsvM0tFO0V5Q1BNLGM1QmdHMEQ7RTRCL0YxRCx5QkFBeUM7QTlDMDRLakQ7O0E4Q2o1S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCMEYwRDtFNEJ6RjFELHFCNUJ5RjBEO0FsQml6S2xFOztBOEN2NUtFO0VBQ0UsYzVCcUc4RDtFNEJwRzlELHlCNUJvRzhEO0FsQnN6S2xFOztBSy80S0U7RXlDUE0sYzVCZ0cwRDtFNEIvRjFELHlCQUF5QztBOUMwNUtqRDs7QThDajZLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUIwRjBEO0U0QnpGMUQscUI1QnlGMEQ7QWxCaTBLbEU7O0ErQzE2S0E7RUFDRSxZQUFZO0UzQ21MUixpQkFBVztFMkNqTGYsZ0I1QzhSK0I7RTRDN1IvQixjQUFjO0VBQ2QsVzVDWWE7RTRDWGIseUI1Q0NhO0U0Q0FiLFdBQVc7QS9DNjZLYjs7QUt4NktFO0UwQ0RFLFc1Q01XO0U0Q0xYLHFCQUFxQjtBL0M2Nkt6Qjs7QUt6NktFO0UwQ0NJLFlBQVk7QS9DNDZLbEI7O0ErQ2o2S0E7RUFDRSxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLFNBQVM7QS9DbzZLWDs7QStDOTVLQTtFQUNFLG9CQUFvQjtBL0NpNkt0Qjs7QWdEdjhLQTtFQUdFLGlCN0MyNEJ1QztFNkMxNEJ2QyxnQjdDMDRCdUM7RUMxdEJuQyxtQkFBVztFNEM3S2YsMkM3Q0FhO0U2Q0NiLDRCQUE0QjtFQUM1QixvQzdDNDRCbUQ7RTZDMzRCbkQsZ0Q3Q09hO0U2Q05iLFVBQVU7RXRDT1Isc0JQbzRCc0M7QUg2akoxQzs7QWdEbjlLQTtFQWVJLHNCN0NnNEJzQztBSHdrSjFDOztBZ0R2OUtBO0VBbUJJLFVBQVU7QWhEdzhLZDs7QWdEMzlLQTtFQXVCSSxjQUFjO0VBQ2QsVUFBVTtBaER3OEtkOztBZ0RoK0tBO0VBNEJJLGFBQWE7QWhEdzhLakI7O0FnRHA4S0E7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHdCN0M0MkJ3QztFNkMzMkJ4QyxjN0N2QmdCO0U2Q3dCaEIsMkM3QzlCYTtFNkMrQmIsNEJBQTRCO0VBQzVCLDRDN0NvM0JvRDtFT2g0QmxELDJDUXVINEQ7RVJ0SDVELDRDUXNINEQ7QWxCODFLaEU7O0FnRHI4S0E7RUFDRSxnQjdDbTJCd0M7QUhxbUoxQzs7QWlEOStLQTtFQUVFLGdCQUFnQjtBakRnL0tsQjs7QWlEbC9LQTtFQUtJLGtCQUFrQjtFQUNsQixnQkFBZ0I7QWpEaS9LcEI7O0FpRDUrS0E7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhOUM0cEJzQztFOEMzcEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFHaEIsVUFBVTtBakQ2K0taOztBaUR0K0tBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxjOUNpNUJ1QztFOEMvNEJ2QyxvQkFBb0I7QWpEdytLdEI7O0FpRHIrS0U7RTdCM0JJLG1DakJzOEJvRDtFOEN6NkJ0RCw4QjlDdTZCbUQ7QUhpa0p2RDs7QW9CamdMTTtFNkJ1Qko7STdCdEJNLGdCQUFnQjtFcEJxZ0x0QjtBQUNGOztBaUQ1K0tFO0VBQ0UsZTlDcTZCb0M7QUgwa0p4Qzs7QWlEMytLRTtFQUNFLHNCOUNrNkIyQztBSDRrSi9DOztBaUQxK0tBO0VBQ0UsYUFBYTtFQUNiLDZCL0J1RjhEO0FsQnM1S2hFOztBaUQvK0tBO0VBS0ksOEIvQm9GNEQ7RStCbkY1RCxnQkFBZ0I7QWpEOCtLcEI7O0FpRHAvS0E7O0VBV0ksY0FBYztBakQ4K0tsQjs7QWlEei9LQTtFQWVJLGdCQUFnQjtBakQ4K0twQjs7QWlEMStLQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsNkIvQm1FOEQ7QWxCMDZLaEU7O0FpRGgvS0E7RUFPSSxjQUFjO0VBQ2QsMEIvQjhENEQ7RStCN0Q1RCxtQkFBbUI7RUFDbkIsV0FBVztBakQ2K0tmOztBaUR2L0tBO0VBZUksc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixZQUFZO0FqRDQrS2hCOztBaUQ3L0tBO0VBb0JNLGdCQUFnQjtBakQ2K0t0Qjs7QWlEamdMQTtFQXdCTSxhQUFhO0FqRDYrS25COztBaUR2K0tBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsV0FBVztFQUdYLG9CQUFvQjtFQUNwQixzQjlDM0dhO0U4QzRHYiw0QkFBNEI7RUFDNUIsb0M5Q25HYTtFT0NYLHFCUDhOK0I7RThDeEhqQyxVQUFVO0FqRHMrS1o7O0FpRGwrS0E7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhOUNnakJzQztFOEMvaUJ0QyxZQUFZO0VBQ1osYUFBYTtFQUNiLHNCOUNsSGE7QUh1bExmOztBaUQ1K0tBO0VBVVcsVUFBVTtBakRzK0tyQjs7QWlEaC9LQTtFQVdXLFk5Qyt6QjJCO0FIMHFKdEM7O0FpRHArS0E7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixrQjlDNHpCc0M7RThDM3pCdEMsZ0M5Q3ZJZ0I7RU9pQmQsMENRdUg0RDtFUnRINUQsMkNRc0g0RDtBbEJ3K0toRTs7QWlEOStLQTtFQVNJLGtCOUN1ekJvQztFOENyekJwQyw4QkFBNkY7QWpEdytLakc7O0FpRG4rS0E7RUFDRSxnQkFBZ0I7RUFDaEIsZ0I5Q3VJK0I7QUgrMUtqQzs7QWlEaitLQTtFQUNFLGtCQUFrQjtFQUdsQixjQUFjO0VBQ2QsYTlDMHdCc0M7QUh3dEp4Qzs7QWlEOTlLQTtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixnQkFBaUU7RUFDakUsNkI5Q3hLZ0I7RU8rQmQsOENReUc0RDtFUnhHNUQsNkNRd0c0RDtBbEJtZ0xoRTs7QWlEeitLQTtFQWFJLGVBQXlDO0FqRGcrSzdDOztBaUQzOUtBO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQjtBakQ4OUtsQjs7QWNybUxJO0VtQ3pCSjtJQXVLSSxnQjlDdXdCcUM7SThDdHdCckMsb0JBQXlDO0VqRDQ5SzNDO0VpRDltTEY7SUFzSkksK0IvQjdENEQ7RWxCd2hMOUQ7RWlEam5MRjtJQXlKTSxnQy9CaEUwRDtFbEIyaEw5RDtFaURqbUxGO0lBMklJLCtCL0JyRTREO0VsQjhoTDlEO0VpRHBtTEY7SUE4SU0sNEIvQnhFMEQ7SStCeUUxRCxtQkFBbUI7RWpEeTlLdkI7RWlEajlLQTtJQUFZLGdCOUMrdUIyQjtFSHF1SnZDO0FBQ0Y7O0FjNW5MSTtFbUMyS0Y7O0lBRUUsZ0I5Q3V1QnFDO0VIOHVKdkM7QUFDRjs7QWNub0xJO0VtQ2tMRjtJQUFZLGlCOUNpdUI0QjtFSHF2SnhDO0FBQ0Y7O0FrRHBzTEE7RUFDRSxrQkFBa0I7RUFDbEIsYS9DZ3JCc0M7RStDL3FCdEMsY0FBYztFQUNkLFMvQzYxQm1DO0VnRGoyQm5DLHFOaERvUm9PO0VnRGxScE8sa0JB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QnJDLFlqRHMwQm9DO0VpRHIwQnBDLGdCQUFnQztBcERnMExwQzs7QW9EdjBMQTtFQVVNLE9BQU87RUFDUCxvQ0FBNkY7RUFDN0YsdUNqRG8wQmlFO0FINi9KdkU7O0FvRDcwTEE7RUFnQk0sU2pEbUsyQjtFaURsSzNCLG9DQUE2RjtFQUM3Rix3QmpEcEVTO0FIcTRMZjs7QW9ENXpMQTtFQUNFLGtCakRxekJ1QztBSDBnS3pDOztBb0RoMExBO0VBSUksd0JsQzhENEQ7QWxCa3dMaEU7O0FvRHAwTEE7RUFPTSxNQUFNO0VBQ04sb0NBQTZGO0VBQzdGLHdDakRnekJpRTtBSGloS3ZFOztBb0QxMExBO0VBYU0sUWpEK0kyQjtFaUQ5STNCLG9DQUE2RjtFQUM3Rix5QmpEeEZTO0FIeTVMZjs7QW9EaDFMQTtFQXFCSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxjQUFjO0VBQ2QsV2pENHhCb0M7RWlEM3hCcEMsb0JBQXVDO0VBQ3ZDLFdBQVc7RUFDWCxnQ2pEZ3hCdUQ7QUgraUszRDs7QW9EM3pMQTtFQUNFLG9CakRxeEJ1QztBSHlpS3pDOztBb0QvekxBO0VBSUksMEJsQzhCNEQ7RWtDN0I1RCxhakRpeEJxQztFaURoeEJyQyxZakQrd0JvQztFaUQ5d0JwQyxnQkFBZ0M7QXBEK3pMcEM7O0FvRHQwTEE7RUFVTSxRQUFRO0VBQ1Isb0NqRDJ3Qm1DO0VpRDF3Qm5DLHNDakQ2d0JpRTtBSG1qS3ZFOztBb0Q1MExBO0VBZ0JNLFVqRDRHMkI7RWlEM0czQixvQ2pEcXdCbUM7RWlEcHdCbkMsdUJqRDNIUztBSDI3TGY7O0FvRDF5TEE7RUFDRSx1QmpEc3VCd0M7RWlEcnVCeEMsZ0JBQWdCO0VoRDBCWixlQUFXO0VnRHZCZix5QmpEK3RCeUQ7RWlEOXRCekQsZ0NBQXlFO0UxQ25JdkUsMENRdUg0RDtFUnRINUQsMkNRc0g0RDtBbEIwekxoRTs7QW9EcHpMQTtFQVVJLGFBQWE7QXBEOHlMakI7O0FvRDF5TEE7RUFDRSx1QmpEd3RCd0M7RWlEdnRCeEMsY2pEeEpnQjtBSHE4TGxCOztBcUR4OExBO0VB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QUNoRCwrQkFBK0I7RUFFL0Isa0JBQWtCO0VBQ2xCLDhDQUE4QztBdkRvcE1oRDs7QXVEanBNQTtFQUNFLFdwRGdrQzRCO0VvRC9qQzVCLFlwRCtqQzRCO0VvRDlqQzVCLG1CcERna0M0QjtBSG9sSzlCOztBdUQ3b01BO0VBQ0U7SUFDRSxtQkFBbUI7RXZEZ3BNckI7RXVEOW9NQTtJQUNFLFVBQVU7SUFDVixlQUFlO0V2RGdwTWpCO0FBQ0Y7O0F1RDdvTUE7RUFDRSxxQkFBcUI7RUFDckIsV3BEc2lDNEI7RW9EcmlDNUIsWXBEcWlDNEI7RW9EcGlDNUIsd0JwRHNpQytCO0VvRHJpQy9CLDhCQUE4QjtFQUU5QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLDRDQUE0QztBdkQrb005Qzs7QXVENW9NQTtFQUNFLFdwRGdpQzRCO0VvRC9oQzVCLFlwRCtoQzRCO0FIZ25LOUI7O0F1RDNvTUU7RUFDRTs7SUFFRSx3QkFBd0I7RXZEOG9NNUI7QUFDRjs7QXdEMXNNQTtFQUFxQixtQ0FBbUM7QXhEOHNNeEQ7O0F3RDdzTUE7RUFBcUIsOEJBQThCO0F4RGl0TW5EOztBd0RodE1BO0VBQXFCLGlDQUFpQztBeERvdE10RDs7QXdEbnRNQTtFQUFxQixpQ0FBaUM7QXhEdXRNdEQ7O0F3RHR0TUE7RUFBcUIsc0NBQXNDO0F4RDB0TTNEOztBd0R6dE1BO0VBQXFCLG1DQUFtQztBeEQ2dE14RDs7QXlEL3RNRTtFQUNFLG9DQUFtQztBekRrdU12Qzs7QUt4dE1FOzs7RW9ETEksb0NBQWdEO0F6RG11TXREOztBeUR6dU1FO0VBQ0Usb0NBQW1DO0F6RDR1TXZDOztBS2x1TUU7OztFb0RMSSxvQ0FBZ0Q7QXpENnVNdEQ7O0F5RG52TUU7RUFDRSxvQ0FBbUM7QXpEc3ZNdkM7O0FLNXVNRTs7O0VvRExJLG9DQUFnRDtBekR1dk10RDs7QXlEN3ZNRTtFQUNFLG9DQUFtQztBekRnd012Qzs7QUt0dk1FOzs7RW9ETEksb0NBQWdEO0F6RGl3TXREOztBeUR2d01FO0VBQ0Usb0NBQW1DO0F6RDB3TXZDOztBS2h3TUU7OztFb0RMSSxvQ0FBZ0Q7QXpEMndNdEQ7O0F5RGp4TUU7RUFDRSxvQ0FBbUM7QXpEb3hNdkM7O0FLMXdNRTs7O0VvRExJLG9DQUFnRDtBekRxeE10RDs7QXlEM3hNRTtFQUNFLG9DQUFtQztBekQ4eE12Qzs7QUtweE1FOzs7RW9ETEksb0NBQWdEO0F6RCt4TXREOztBeURyeU1FO0VBQ0Usb0NBQW1DO0F6RHd5TXZDOztBSzl4TUU7OztFb0RMSSxvQ0FBZ0Q7QXpEeXlNdEQ7O0EwRHh5TUE7RUFDRSxpQ0FBbUM7QTFEMnlNckM7O0EwRHh5TUE7RUFDRSx3Q0FBd0M7QTFEMnlNMUM7O0EyRHR6TUE7RUFBa0Isb0NBQW9EO0EzRDB6TXRFOztBMkR6ek1BO0VBQWtCLHdDQUF3RDtBM0Q2ek0xRTs7QTJENXpNQTtFQUFrQiwwQ0FBMEQ7QTNEZzBNNUU7O0EyRC96TUE7RUFBa0IsMkNBQTJEO0EzRG0wTTdFOztBMkRsME1BO0VBQWtCLHlDQUF5RDtBM0RzME0zRTs7QTJEcDBNQTtFQUFtQixvQkFBb0I7QTNEdzBNdkM7O0EyRHYwTUE7RUFBbUIsd0JBQXdCO0EzRDIwTTNDOztBMkQxME1BO0VBQW1CLDBCQUEwQjtBM0Q4ME03Qzs7QTJENzBNQTtFQUFtQiwyQkFBMkI7QTNEaTFNOUM7O0EyRGgxTUE7RUFBbUIseUJBQXlCO0EzRG8xTTVDOztBMkRqMU1FO0VBQ0UsZ0NBQStCO0EzRG8xTW5DOztBMkRyMU1FO0VBQ0UsZ0NBQStCO0EzRHcxTW5DOztBMkR6MU1FO0VBQ0UsZ0NBQStCO0EzRDQxTW5DOztBMkQ3MU1FO0VBQ0UsZ0NBQStCO0EzRGcyTW5DOztBMkRqMk1FO0VBQ0UsZ0NBQStCO0EzRG8yTW5DOztBMkRyMk1FO0VBQ0UsZ0NBQStCO0EzRHcyTW5DOztBMkR6Mk1FO0VBQ0UsZ0NBQStCO0EzRDQyTW5DOztBMkQ3Mk1FO0VBQ0UsZ0NBQStCO0EzRGczTW5DOztBMkQ1Mk1BO0VBQ0UsNkJBQStCO0EzRCsyTWpDOztBMkR4Mk1BO0VBQ0UsZ0NBQTJDO0EzRDIyTTdDOztBMkR4Mk1BO0VBQ0UsaUNBQXdDO0EzRDIyTTFDOztB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RUFBOEIseUJBQXlCO0E5RHlyTjNEOztBOER2ck5JO0VBQW9DLHNDQUFzQztBOUQyck45RTs7QThEMXJOSTtFQUFvQyxvQ0FBb0M7QTlEOHJONUU7O0E4RDdyTkk7RUFBb0Msa0NBQWtDO0E5RGlzTjFFOztBOERoc05JO0VBQW9DLHlDQUF5QztBOURvc05qRjs7QThEbnNOSTtFQUFvQyx3Q0FBd0M7QTlEdXNOaEY7O0E4RHJzTkk7RUFBaUMsa0NBQWtDO0E5RHlzTnZFOztBOER4c05JO0VBQWlDLGdDQUFnQztBOUQ0c05yRTs7QThEM3NOSTtFQUFpQyw4QkFBOEI7QTlEK3NObkU7O0E4RDlzTkk7RUFBaUMsZ0NBQWdDO0E5RGt0TnJFOztBOERqdE5JO0VBQWlDLCtCQUErQjtBOURxdE5wRTs7QThEbnROSTtFQUFrQyxvQ0FBb0M7QTlEdXROMUU7O0E4RHR0Tkk7RUFBa0Msa0NBQWtDO0E5RDB0TnhFOztBOER6dE5JO0VBQWtDLGdDQUFnQztBOUQ2dE50RTs7QThENXROSTtFQUFrQyx1Q0FBdUM7QTlEZ3VON0U7O0E4RC90Tkk7RUFBa0Msc0NBQXNDO0E5RG11TjVFOztBOERsdU5JO0VBQWtDLGlDQUFpQztBOURzdU52RTs7QThEcHVOSTtFQUFnQywyQkFBMkI7QTlEd3VOL0Q7O0E4RHZ1Tkk7RUFBZ0MsaUNBQWlDO0E5RDJ1TnJFOztBOEQxdU5JO0VBQWdDLCtCQUErQjtBOUQ4dU5uRTs7QThEN3VOSTtFQUFnQyw2QkFBNkI7QTlEaXZOakU7O0E4RGh2Tkk7RUFBZ0MsK0JBQStCO0E5RG92Tm5FOztBOERudk5JO0VBQWdDLDhCQUE4QjtBOUR1dk5sRTs7QWMzdU5JO0VnRGxEQTtJQUFnQyw4QkFBOEI7RTlEa3lOaEU7RThEanlORTtJQUFnQyxpQ0FBaUM7RTlEb3lObkU7RThEbnlORTtJQUFnQyxzQ0FBc0M7RTlEc3lOeEU7RThEcnlORTtJQUFnQyx5Q0FBeUM7RTlEd3lOM0U7RThEdHlORTtJQUE4QiwwQkFBMEI7RTlEeXlOMUQ7RThEeHlORTtJQUE4Qiw0QkFBNEI7RTlEMnlONUQ7RThEMXlORTtJQUE4QixrQ0FBa0M7RTlENnlObEU7RThENXlORTtJQUE4Qix5QkFBeUI7RTlEK3lOekQ7RThEOXlORTtJQUE4Qix1QkFBdUI7RTlEaXpOdkQ7RThEaHpORTtJQUE4Qix1QkFBdUI7RTlEbXpOdkQ7RThEbHpORTtJQUE4Qix5QkFBeUI7RTlEcXpOekQ7RThEcHpORTtJQUE4Qix5QkFBeUI7RTlEdXpOekQ7RThEcnpORTtJQUFvQyxzQ0FBc0M7RTlEd3pONUU7RThEdnpORTtJQUFvQyxvQ0FBb0M7RTlEMHpOMUU7RThEenpORTtJQUFvQyxrQ0FBa0M7RTlENHpOeEU7RThEM3pORTtJQUFvQyx5Q0FBeUM7RTlEOHpOL0U7RThEN3pORTtJQUFvQyx3Q0FBd0M7RTlEZzBOOUU7RThEOXpORTtJQUFpQyxrQ0FBa0M7RTlEaTBOckU7RThEaDBORTtJQUFpQyxnQ0FBZ0M7RTlEbTBObkU7RThEbDBORTtJQUFpQyw4QkFBOEI7RTlEcTBOakU7RThEcDBORTtJQUFpQyxnQ0FBZ0M7RTlEdTBObkU7RThEdDBORTtJQUFpQywrQkFBK0I7RTlEeTBObEU7RThEdjBORTtJQUFrQyxvQ0FBb0M7RTlEMDBOeEU7RThEejBORTtJQUFrQyxrQ0FBa0M7RTlENDBOdEU7RThEMzBORTtJQUFrQyxnQ0FBZ0M7RTlEODBOcEU7RThENzBORTtJQUFrQyx1Q0FBdUM7RTlEZzFOM0U7RThELzBORTtJQUFrQyxzQ0FBc0M7RTlEazFOMUU7RThEajFORTtJQUFrQyxpQ0FBaUM7RTlEbzFOckU7RThEbDFORTtJQUFnQywyQkFBMkI7RTlEcTFON0Q7RThEcDFORTtJQUFnQyxpQ0FBaUM7RTlEdTFObkU7RThEdDFORTtJQUFnQywrQkFBK0I7RTlEeTFOakU7RThEeDFORTtJQUFnQyw2QkFBNkI7RTlEMjFOL0Q7RThEMTFORTtJQUFnQywrQkFBK0I7RTlENjFOakU7RThENTFORTtJQUFnQyw4QkFBOEI7RTlEKzFOaEU7QUFDRjs7QWNwMU5JO0VnRGxEQTtJQUFnQyw4QkFBOEI7RTlEMjROaEU7RThEMTRORTtJQUFnQyxpQ0FBaUM7RTlENjRObkU7RThENTRORTtJQUFnQyxzQ0FBc0M7RTlEKzROeEU7RThEOTRORTtJQUFnQyx5Q0FBeUM7RTlEaTVOM0U7RThELzRORTtJQUE4QiwwQkFBMEI7RTlEazVOMUQ7RThEajVORTtJQUE4Qiw0QkFBNEI7RTlEbzVONUQ7RThEbjVORTtJQUE4QixrQ0FBa0M7RTlEczVObEU7RThEcjVORTtJQUE4Qix5QkFBeUI7RTlEdzVOekQ7RThEdjVORTtJQUE4Qix1QkFBdUI7RTlEMDVOdkQ7RThEejVORTtJQUE4Qix1QkFBdUI7RTlENDVOdkQ7RThEMzVORTtJQUE4Qix5QkFBeUI7RTlEODVOekQ7RThENzVORTtJQUE4Qix5QkFBeUI7RTlEZzZOekQ7RThEOTVORTtJQUFvQyxzQ0FBc0M7RTlEaTZONUU7RThEaDZORTtJQUFvQyxvQ0FBb0M7RTlEbTZOMUU7RThEbDZORTtJQUFvQyxrQ0FBa0M7RTlEcTZOeEU7RThEcDZORTtJQUFvQyx5Q0FBeUM7RTlEdTZOL0U7RThEdDZORTtJQUFvQyx3Q0FBd0M7RTlEeTZOOUU7RThEdjZORTtJQUFpQyxrQ0FBa0M7RTlEMDZOckU7RThEejZORTtJQUFpQyxnQ0FBZ0M7RTlENDZObkU7RThEMzZORTtJQUFpQyw4QkFBOEI7RTlEODZOakU7RThENzZORTtJQUFpQyxnQ0FBZ0M7RTlEZzdObkU7RThELzZORTtJQUFpQywrQkFBK0I7RTlEazdObEU7RThEaDdORTtJQUFrQyxvQ0FBb0M7RTlEbTdOeEU7RThEbDdORTtJQUFrQyxrQ0FBa0M7RTlEcTdOdEU7RThEcDdORTtJQUFrQyxnQ0FBZ0M7RTlEdTdOcEU7RThEdDdORTtJQUFrQyx1Q0FBdUM7RTlEeTdOM0U7RThEeDdORTtJQUFrQyxzQ0FBc0M7RTlEMjdOMUU7RThEMTdORTtJQUFrQyxpQ0FBaUM7RTlENjdOckU7RThEMzdORTtJQUFnQywyQkFBMkI7RTlEODdON0Q7RThENzdORTtJQUFnQyxpQ0FBaUM7RTlEZzhObkU7RThELzdORTtJQUFnQywrQkFBK0I7RTlEazhOakU7RThEajhORTtJQUFnQyw2QkFBNkI7RTlEbzhOL0Q7RThEbjhORTtJQUFnQywrQkFBK0I7RTlEczhOakU7RThEcjhORTtJQUFnQyw4QkFBOEI7RTlEdzhOaEU7QUFDRjs7QWM3N05JO0VnRGxEQTtJQUFnQyw4QkFBOEI7RTlEby9OaEU7RThEbi9ORTtJQUFnQyxpQ0FBaUM7RTlEcy9ObkU7RThEci9ORTtJQUFnQyxzQ0FBc0M7RTlEdy9OeEU7RThEdi9ORTtJQUFnQyx5Q0FBeUM7RTlEMC9OM0U7RThEeC9ORTtJQUE4QiwwQkFBMEI7RTlEMi9OMUQ7RThEMS9ORTtJQUE4Qiw0QkFBNEI7RTlENi9ONUQ7RThENS9ORTtJQUE4QixrQ0FBa0M7RTlEKy9ObEU7RThEOS9ORTtJQUE4Qix5QkFBeUI7RTlEaWdPekQ7RThEaGdPRTtJQUE4Qix1QkFBdUI7RTlEbWdPdkQ7RThEbGdPRTtJQUE4Qix1QkFBdUI7RTlEcWdPdkQ7RThEcGdPRTtJQUE4Qix5QkFBeUI7RTlEdWdPekQ7RThEdGdPRTtJQUE4Qix5QkFBeUI7RTlEeWdPekQ7RThEdmdPRTtJQUFvQyxzQ0FBc0M7RTlEMGdPNUU7RThEemdPRTtJQUFvQyxvQ0FBb0M7RTlENGdPMUU7RThEM2dPRTtJQUFvQyxrQ0FBa0M7RTlEOGdPeEU7RThEN2dPRTtJQUFvQyx5Q0FBeUM7RTlEZ2hPL0U7RThEL2dPRTtJQUFvQyx3Q0FBd0M7RTlEa2hPOUU7RThEaGhPRTtJQUFpQyxrQ0FBa0M7RTlEbWhPckU7RThEbGhPRTtJQUFpQyxnQ0FBZ0M7RTlEcWhPbkU7RThEcGhPRTtJQUFpQyw4QkFBOEI7RTlEdWhPakU7RThEdGhPRTtJQUFpQyxnQ0FBZ0M7RTlEeWhPbkU7RThEeGhPRTtJQUFpQywrQkFBK0I7RTlEMmhPbEU7RThEemhPRTtJQUFrQyxvQ0FBb0M7RTlENGhPeEU7RThEM2hPRTtJQUFrQyxrQ0FBa0M7RTlEOGhPdEU7RThEN2hPRTtJQUFrQyxnQ0FBZ0M7RTlEZ2lPcEU7RThEL2hPRTtJQUFrQyx1Q0FBdUM7RTlEa2lPM0U7RThEamlPRTtJQUFrQyxzQ0FBc0M7RTlEb2lPMUU7RThEbmlPRTtJQUFrQyxpQ0FBaUM7RTlEc2lPckU7RThEcGlPRTtJQUFnQywyQkFBMkI7RTlEdWlPN0Q7RThEdGlPRTtJQUFnQyxpQ0FBaUM7RTlEeWlPbkU7RThEeGlPRTtJQUFnQywrQkFBK0I7RTlEMmlPakU7RThEMWlPRTtJQUFnQyw2QkFBNkI7RTlENmlPL0Q7RThENWlPRTtJQUFnQywrQkFBK0I7RTlEK2lPakU7RThEOWlPRTtJQUFnQyw4QkFBOEI7RTlEaWpPaEU7QUFDRjs7QWN0aU9JO0VnRGxEQTtJQUFnQyw4QkFBOEI7RTlENmxPaEU7RThENWxPRTtJQUFnQyxpQ0FBaUM7RTlEK2xPbkU7RThEOWxPRTtJQUFnQyxzQ0FBc0M7RTlEaW1PeEU7RThEaG1PRTtJQUFnQyx5Q0FBeUM7RTlEbW1PM0U7RThEam1PRTtJQUE4QiwwQkFBMEI7RTlEb21PMUQ7RThEbm1PRTtJQUE4Qiw0QkFBNEI7RTlEc21PNUQ7RThEcm1PRTtJQUE4QixrQ0FBa0M7RTlEd21PbEU7RThEdm1PRTtJQUE4Qix5QkFBeUI7RTlEMG1PekQ7RThEem1PRTtJQUE4Qix1QkFBdUI7RTlENG1PdkQ7RThEM21PRTtJQUE4Qix1QkFBdUI7RTlEOG1PdkQ7RThEN21PRTtJQUE4Qix5QkFBeUI7RTlEZ25PekQ7RThEL21PRTtJQUE4Qix5QkFBeUI7RTlEa25PekQ7RThEaG5PRTtJQUFvQyxzQ0FBc0M7RTlEbW5PNUU7RThEbG5PRTtJQUFvQyxvQ0FBb0M7RTlEcW5PMUU7RThEcG5PRTtJQUFvQyxrQ0FBa0M7RTlEdW5PeEU7RThEdG5PRTtJQUFvQyx5Q0FBeUM7RTlEeW5PL0U7RThEeG5PRTtJQUFvQyx3Q0FBd0M7RTlEMm5POUU7RThEem5PRTtJQUFpQyxrQ0FBa0M7RTlENG5PckU7RThEM25PRTtJQUFpQyxnQ0FBZ0M7RTlEOG5PbkU7RThEN25PRTtJQUFpQyw4QkFBOEI7RTlEZ29PakU7RThEL25PRTtJQUFpQyxnQ0FBZ0M7RTlEa29PbkU7RThEam9PRTtJQUFpQywrQkFBK0I7RTlEb29PbEU7RThEbG9PRTtJQUFrQyxvQ0FBb0M7RTlEcW9PeEU7RThEcG9PRTtJQUFrQyxrQ0FBa0M7RTlEdW9PdEU7RThEdG9PRTtJQUFrQyxnQ0FBZ0M7RTlEeW9PcEU7RThEeG9PRTtJQUFrQyx1Q0FBdUM7RTlEMm9PM0U7RThEMW9PRTtJQUFrQyxzQ0FBc0M7RTlENm9PMUU7RThENW9PRTtJQUFrQyxpQ0FBaUM7RTlEK29PckU7RThEN29PRTtJQUFnQywyQkFBMkI7RTlEZ3BPN0Q7RThEL29PRTtJQUFnQyxpQ0FBaUM7RTlEa3BPbkU7RThEanBPRTtJQUFnQywrQkFBK0I7RTlEb3BPakU7RThEbnBPRTtJQUFnQyw2QkFBNkI7RTlEc3BPL0Q7RThEcnBPRTtJQUFnQywrQkFBK0I7RTlEd3BPakU7RThEdnBPRTtJQUFnQyw4QkFBOEI7RTlEMHBPaEU7QUFDRjs7QStEcnNPSTtFQUF3QixzQkFBc0I7QS9EeXNPbEQ7O0ErRHhzT0k7RUFBd0IsdUJBQXVCO0EvRDRzT25EOztBK0Qzc09JO0VBQXdCLHNCQUFzQjtBL0Qrc09sRDs7QWMzcE9JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9Ec3RPaEQ7RStEcnRPRTtJQUF3Qix1QkFBdUI7RS9Ed3RPakQ7RStEdnRPRTtJQUF3QixzQkFBc0I7RS9EMHRPaEQ7QUFDRjs7QWN2cU9JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9Ea3VPaEQ7RStEanVPRTtJQUF3Qix1QkFBdUI7RS9Eb3VPakQ7RStEbnVPRTtJQUF3QixzQkFBc0I7RS9Ec3VPaEQ7QUFDRjs7QWNuck9JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9EOHVPaEQ7RStEN3VPRTtJQUF3Qix1QkFBdUI7RS9EZ3ZPakQ7RStEL3VPRTtJQUF3QixzQkFBc0I7RS9Ea3ZPaEQ7QUFDRjs7QWMvck9JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9EMHZPaEQ7RStEenZPRTtJQUF3Qix1QkFBdUI7RS9ENHZPakQ7RStEM3ZPRTtJQUF3QixzQkFBc0I7RS9EOHZPaEQ7QUFDRjs7QWdFcHdPRTtFQUF5QiwyQkFBOEI7QWhFd3dPekQ7O0FnRXh3T0U7RUFBeUIsNEJBQThCO0FoRTR3T3pEOztBZ0U1d09FO0VBQXlCLDRCQUE4QjtBaEVneE96RDs7QWlFaHhPRTtFQUFzQix5QkFBMkI7QWpFb3hPbkQ7O0FpRXB4T0U7RUFBc0IsMkJBQTJCO0FqRXd4T25EOztBa0V2eE9FO0VBQXlCLDJCQUE4QjtBbEUyeE96RDs7QWtFM3hPRTtFQUF5Qiw2QkFBOEI7QWxFK3hPekQ7O0FrRS94T0U7RUFBeUIsNkJBQThCO0FsRW15T3pEOztBa0VueU9FO0VBQXlCLDBCQUE4QjtBbEV1eU96RDs7QWtFdnlPRTtFQUF5QiwyQkFBOEI7QWxFMnlPekQ7O0FrRXR5T0E7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsYS9EaXFCc0M7QUh3b054Qzs7QWtFdHlPQTtFQUNFLGVBQWU7RUFDZixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxhL0R5cEJzQztBSGdwTnhDOztBa0VyeU84QjtFQUQ5QjtJQUVJLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sYS9EaXBCb0M7RUh3cE50QztBQUNGOztBbUVuME9BO0VDRUUsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixTQUFTO0FwRXEwT1g7O0FvRTN6T0U7RUFFRSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsVUFBVTtFQUNWLG1CQUFtQjtBcEU2ek92Qjs7QXFFMTFPQTtFQUFhLDhEQUFxQztBckU4MU9sRDs7QXFFNzFPQTtFQUFVLHdEQUFrQztBckVpMk81Qzs7QXFFaDJPQTtFQUFhLHVEQUFxQztBckVvMk9sRDs7QXFFbjJPQTtFQUFlLDJCQUEyQjtBckV1Mk8xQzs7QXNFdDJPSTtFQUF1QixxQkFBNEI7QXRFMDJPdkQ7O0FzRTEyT0k7RUFBdUIscUJBQTRCO0F0RTgyT3ZEOztBc0U5Mk9JO0VBQXVCLHFCQUE0QjtBdEVrM092RDs7QXNFbDNPSTtFQUF1QixzQkFBNEI7QXRFczNPdkQ7O0FzRXQzT0k7RUFBdUIsc0JBQTRCO0F0RTAzT3ZEOztBc0UxM09JO0VBQXVCLHNCQUE0QjtBdEU4M092RDs7QXNFOTNPSTtFQUF1QixzQkFBNEI7QXRFazRPdkQ7O0FzRWw0T0k7RUFBdUIsc0JBQTRCO0F0RXM0T3ZEOztBc0V0NE9JO0VBQXVCLHVCQUE0QjtBdEUwNE92RDs7QXNFMTRPSTtFQUF1Qix1QkFBNEI7QXRFODRPdkQ7O0FzRTE0T0E7RUFBVSwwQkFBMEI7QXRFODRPcEM7O0FzRTc0T0E7RUFBVSwyQkFBMkI7QXRFaTVPckM7O0FzRTc0T0E7RUFBYywyQkFBMkI7QXRFaTVPekM7O0FzRWg1T0E7RUFBYyw0QkFBNEI7QXRFbzVPMUM7O0FzRWw1T0E7RUFBVSx1QkFBdUI7QXRFczVPakM7O0FzRXI1T0E7RUFBVSx3QkFBd0I7QXRFeTVPbEM7O0F1RWw2T1E7RUFBZ0Msb0JBQTRCO0F2RXM2T3BFOztBdUVyNk9ROztFQUVFLHdCQUFvQztBdkV3Nk85Qzs7QXVFdDZPUTs7RUFFRSwwQkFBd0M7QXZFeTZPbEQ7O0F1RXY2T1E7O0VBRUUsMkJBQTBDO0F2RTA2T3BEOztBdUV4Nk9ROztFQUVFLHlCQUFzQztBdkUyNk9oRDs7QXVFMTdPUTtFQUFnQywwQkFBNEI7QXZFODdPcEU7O0F1RTc3T1E7O0VBRUUsOEJBQW9DO0F2RWc4TzlDOztBdUU5N09ROztFQUVFLGdDQUF3QztBdkVpOE9sRDs7QXVFLzdPUTs7RUFFRSxpQ0FBMEM7QXZFazhPcEQ7O0F1RWg4T1E7O0VBRUUsK0JBQXNDO0F2RW04T2hEOztBdUVsOU9RO0VBQWdDLHlCQUE0QjtBdkVzOU9wRTs7QXVFcjlPUTs7RUFFRSw2QkFBb0M7QXZFdzlPOUM7O0F1RXQ5T1E7O0VBRUUsK0JBQXdDO0F2RXk5T2xEOztBdUV2OU9ROztFQUVFLGdDQUEwQztBdkUwOU9wRDs7QXVFeDlPUTs7RUFFRSw4QkFBc0M7QXZFMjlPaEQ7O0F1RTErT1E7RUFBZ0MsdUJBQTRCO0F2RTgrT3BFOztBdUU3K09ROztFQUVFLDJCQUFvQztBdkVnL085Qzs7QXVFOStPUTs7RUFFRSw2QkFBd0M7QXZFaS9PbEQ7O0F1RS8rT1E7O0VBRUUsOEJBQTBDO0F2RWsvT3BEOztBdUVoL09ROztFQUVFLDRCQUFzQztBdkVtL09oRDs7QXVFbGdQUTtFQUFnQyx5QkFBNEI7QXZFc2dQcEU7O0F1RXJnUFE7O0VBRUUsNkJBQW9DO0F2RXdnUDlDOztBdUV0Z1BROztFQUVFLCtCQUF3QztBdkV5Z1BsRDs7QXVFdmdQUTs7RUFFRSxnQ0FBMEM7QXZFMGdQcEQ7O0F1RXhnUFE7O0VBRUUsOEJBQXNDO0F2RTJnUGhEOztBdUUxaFBRO0VBQWdDLHVCQUE0QjtBdkU4aFBwRTs7QXVFN2hQUTs7RUFFRSwyQkFBb0M7QXZFZ2lQOUM7O0F1RTloUFE7O0VBRUUsNkJBQXdDO0F2RWlpUGxEOztBdUUvaFBROztFQUVFLDhCQUEwQztBdkVraVBwRDs7QXVFaGlQUTs7RUFFRSw0QkFBc0M7QXZFbWlQaEQ7O0F1RWxqUFE7RUFBZ0MscUJBQTRCO0F2RXNqUHBFOztBdUVyalBROztFQUVFLHlCQUFvQztBdkV3alA5Qzs7QXVFdGpQUTs7RUFFRSwyQkFBd0M7QXZFeWpQbEQ7O0F1RXZqUFE7O0VBRUUsNEJBQTBDO0F2RTBqUHBEOztBdUV4alBROztFQUVFLDBCQUFzQztBdkUyalBoRDs7QXVFMWtQUTtFQUFnQywyQkFBNEI7QXZFOGtQcEU7O0F1RTdrUFE7O0VBRUUsK0JBQW9DO0F2RWdsUDlDOztBdUU5a1BROztFQUVFLGlDQUF3QztBdkVpbFBsRDs7QXVFL2tQUTs7RUFFRSxrQ0FBMEM7QXZFa2xQcEQ7O0F1RWhsUFE7O0VBRUUsZ0NBQXNDO0F2RW1sUGhEOztBdUVsbVBRO0VBQWdDLDBCQUE0QjtBdkVzbVBwRTs7QXVFcm1QUTs7RUFFRSw4QkFBb0M7QXZFd21QOUM7O0F1RXRtUFE7O0VBRUUsZ0NBQXdDO0F2RXltUGxEOztBdUV2bVBROztFQUVFLGlDQUEwQztBdkUwbVBwRDs7QXVFeG1QUTs7RUFFRSwrQkFBc0M7QXZFMm1QaEQ7O0F1RTFuUFE7RUFBZ0Msd0JBQTRCO0F2RThuUHBFOztBdUU3blBROztFQUVFLDRCQUFvQztBdkVnb1A5Qzs7QXVFOW5QUTs7RUFFRSw4QkFBd0M7QXZFaW9QbEQ7O0F1RS9uUFE7O0VBRUUsK0JBQTBDO0F2RWtvUHBEOztBdUVob1BROztFQUVFLDZCQUFzQztBdkVtb1BoRDs7QXVFbHBQUTtFQUFnQywwQkFBNEI7QXZFc3BQcEU7O0F1RXJwUFE7O0VBRUUsOEJBQW9DO0F2RXdwUDlDOztBdUV0cFBROztFQUVFLGdDQUF3QztBdkV5cFBsRDs7QXVFdnBQUTs7RUFFRSxpQ0FBMEM7QXZFMHBQcEQ7O0F1RXhwUFE7O0VBRUUsK0JBQXNDO0F2RTJwUGhEOztBdUUxcVBRO0VBQWdDLHdCQUE0QjtBdkU4cVBwRTs7QXVFN3FQUTs7RUFFRSw0QkFBb0M7QXZFZ3JQOUM7O0F1RTlxUFE7O0VBRUUsOEJBQXdDO0F2RWlyUGxEOztBdUUvcVBROztFQUVFLCtCQUEwQztBdkVrclBwRDs7QXVFaHJQUTs7RUFFRSw2QkFBc0M7QXZFbXJQaEQ7O0F1RTNxUFE7RUFBd0IsMkJBQTJCO0F2RStxUDNEOztBdUU5cVBROztFQUVFLCtCQUErQjtBdkVpclB6Qzs7QXVFL3FQUTs7RUFFRSxpQ0FBaUM7QXZFa3JQM0M7O0F1RWhyUFE7O0VBRUUsa0NBQWtDO0F2RW1yUDVDOztBdUVqclBROztFQUVFLGdDQUFnQztBdkVvclAxQzs7QXVFbnNQUTtFQUF3QiwwQkFBMkI7QXZFdXNQM0Q7O0F1RXRzUFE7O0VBRUUsOEJBQStCO0F2RXlzUHpDOztBdUV2c1BROztFQUVFLGdDQUFpQztBdkUwc1AzQzs7QXVFeHNQUTs7RUFFRSxpQ0FBa0M7QXZFMnNQNUM7O0F1RXpzUFE7O0VBRUUsK0JBQWdDO0F2RTRzUDFDOztBdUUzdFBRO0VBQXdCLHdCQUEyQjtBdkUrdFAzRDs7QXVFOXRQUTs7RUFFRSw0QkFBK0I7QXZFaXVQekM7O0F1RS90UFE7O0VBRUUsOEJBQWlDO0F2RWt1UDNDOztBdUVodVBROztFQUVFLCtCQUFrQztBdkVtdVA1Qzs7QXVFanVQUTs7RUFFRSw2QkFBZ0M7QXZFb3VQMUM7O0F1RW52UFE7RUFBd0IsMEJBQTJCO0F2RXV2UDNEOztBdUV0dlBROztFQUVFLDhCQUErQjtBdkV5dlB6Qzs7QXVFdnZQUTs7RUFFRSxnQ0FBaUM7QXZFMHZQM0M7O0F1RXh2UFE7O0VBRUUsaUNBQWtDO0F2RTJ2UDVDOztBdUV6dlBROztFQUVFLCtCQUFnQztBdkU0dlAxQzs7QXVFM3dQUTtFQUF3Qix3QkFBMkI7QXZFK3dQM0Q7O0F1RTl3UFE7O0VBRUUsNEJBQStCO0F2RWl4UHpDOztBdUUvd1BROztFQUVFLDhCQUFpQztBdkVreFAzQzs7QXVFaHhQUTs7RUFFRSwrQkFBa0M7QXZFbXhQNUM7O0F1RWp4UFE7O0VBRUUsNkJBQWdDO0F2RW94UDFDOztBdUU5d1BJO0VBQW1CLHVCQUF1QjtBdkVreFA5Qzs7QXVFanhQSTs7RUFFRSwyQkFBMkI7QXZFb3hQakM7O0F1RWx4UEk7O0VBRUUsNkJBQTZCO0F2RXF4UG5DOztBdUVueFBJOztFQUVFLDhCQUE4QjtBdkVzeFBwQzs7QXVFcHhQSTs7RUFFRSw0QkFBNEI7QXZFdXhQbEM7O0FjaHlQSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RXUxUGxFO0V1RXQxUE07O0lBRUUsd0JBQW9DO0V2RXcxUDVDO0V1RXQxUE07O0lBRUUsMEJBQXdDO0V2RXcxUGhEO0V1RXQxUE07O0lBRUUsMkJBQTBDO0V2RXcxUGxEO0V1RXQxUE07O0lBRUUseUJBQXNDO0V2RXcxUDlDO0V1RXYyUE07SUFBZ0MsMEJBQTRCO0V2RTAyUGxFO0V1RXoyUE07O0lBRUUsOEJBQW9DO0V2RTIyUDVDO0V1RXoyUE07O0lBRUUsZ0NBQXdDO0V2RTIyUGhEO0V1RXoyUE07O0lBRUUsaUNBQTBDO0V2RTIyUGxEO0V1RXoyUE07O0lBRUUsK0JBQXNDO0V2RTIyUDlDO0V1RTEzUE07SUFBZ0MseUJBQTRCO0V2RTYzUGxFO0V1RTUzUE07O0lBRUUsNkJBQW9DO0V2RTgzUDVDO0V1RTUzUE07O0lBRUUsK0JBQXdDO0V2RTgzUGhEO0V1RTUzUE07O0lBRUUsZ0NBQTBDO0V2RTgzUGxEO0V1RTUzUE07O0lBRUUsOEJBQXNDO0V2RTgzUDlDO0V1RTc0UE07SUFBZ0MsdUJBQTRCO0V2RWc1UGxFO0V1RS80UE07O0lBRUUsMkJBQW9DO0V2RWk1UDVDO0V1RS80UE07O0lBRUUsNkJBQXdDO0V2RWk1UGhEO0V1RS80UE07O0lBRUUsOEJBQTBDO0V2RWk1UGxEO0V1RS80UE07O0lBRUUsNEJBQXNDO0V2RWk1UDlDO0V1RWg2UE07SUFBZ0MseUJBQTRCO0V2RW02UGxFO0V1RWw2UE07O0lBRUUsNkJBQW9DO0V2RW82UDVDO0V1RWw2UE07O0lBRUUsK0JBQXdDO0V2RW82UGhEO0V1RWw2UE07O0lBRUUsZ0NBQTBDO0V2RW82UGxEO0V1RWw2UE07O0lBRUUsOEJBQXNDO0V2RW82UDlDO0V1RW43UE07SUFBZ0MsdUJBQTRCO0V2RXM3UGxFO0V1RXI3UE07O0lBRUUsMkJBQW9DO0V2RXU3UDVDO0V1RXI3UE07O0lBRUUsNkJBQXdDO0V2RXU3UGhEO0V1RXI3UE07O0lBRUUsOEJBQTBDO0V2RXU3UGxEO0V1RXI3UE07O0lBRUUsNEJBQXNDO0V2RXU3UDlDO0V1RXQ4UE07SUFBZ0MscUJBQTRCO0V2RXk4UGxFO0V1RXg4UE07O0lBRUUseUJBQW9DO0V2RTA4UDVDO0V1RXg4UE07O0lBRUUsMkJBQXdDO0V2RTA4UGhEO0V1RXg4UE07O0lBRUUsNEJBQTBDO0V2RTA4UGxEO0V1RXg4UE07O0lBRUUsMEJBQXNDO0V2RTA4UDlDO0V1RXo5UE07SUFBZ0MsMkJBQTRCO0V2RTQ5UGxFO0V1RTM5UE07O0lBRUUsK0JBQW9DO0V2RTY5UDVDO0V1RTM5UE07O0lBRUUsaUNBQXdDO0V2RTY5UGhEO0V1RTM5UE07O0lBRUUsa0NBQTBDO0V2RTY5UGxEO0V1RTM5UE07O0lBRUUsZ0NBQXNDO0V2RTY5UDlDO0V1RTUrUE07SUFBZ0MsMEJBQTRCO0V2RSsrUGxFO0V1RTkrUE07O0lBRUUsOEJBQW9DO0V2RWcvUDVDO0V1RTkrUE07O0lBRUUsZ0NBQXdDO0V2RWcvUGhEO0V1RTkrUE07O0lBRUUsaUNBQTBDO0V2RWcvUGxEO0V1RTkrUE07O0lBRUUsK0JBQXNDO0V2RWcvUDlDO0V1RS8vUE07SUFBZ0Msd0JBQTRCO0V2RWtnUWxFO0V1RWpnUU07O0lBRUUsNEJBQW9DO0V2RW1nUTVDO0V1RWpnUU07O0lBRUUsOEJBQXdDO0V2RW1nUWhEO0V1RWpnUU07O0lBRUUsK0JBQTBDO0V2RW1nUWxEO0V1RWpnUU07O0lBRUUsNkJBQXNDO0V2RW1nUTlDO0V1RWxoUU07SUFBZ0MsMEJBQTRCO0V2RXFoUWxFO0V1RXBoUU07O0lBRUUsOEJBQW9DO0V2RXNoUTVDO0V1RXBoUU07O0lBRUUsZ0NBQXdDO0V2RXNoUWhEO0V1RXBoUU07O0lBRUUsaUNBQTBDO0V2RXNoUWxEO0V1RXBoUU07O0lBRUUsK0JBQXNDO0V2RXNoUTlDO0V1RXJpUU07SUFBZ0Msd0JBQTRCO0V2RXdpUWxFO0V1RXZpUU07O0lBRUUsNEJBQW9DO0V2RXlpUTVDO0V1RXZpUU07O0lBRUUsOEJBQXdDO0V2RXlpUWhEO0V1RXZpUU07O0lBRUUsK0JBQTBDO0V2RXlpUWxEO0V1RXZpUU07O0lBRUUsNkJBQXNDO0V2RXlpUTlDO0V1RWppUU07SUFBd0IsMkJBQTJCO0V2RW9pUXpEO0V1RW5pUU07O0lBRUUsK0JBQStCO0V2RXFpUXZDO0V1RW5pUU07O0lBRUUsaUNBQWlDO0V2RXFpUXpDO0V1RW5pUU07O0lBRUUsa0NBQWtDO0V2RXFpUTFDO0V1RW5pUU07O0lBRUUsZ0NBQWdDO0V2RXFpUXhDO0V1RXBqUU07SUFBd0IsMEJBQTJCO0V2RXVqUXpEO0V1RXRqUU07O0lBRUUsOEJBQStCO0V2RXdqUXZDO0V1RXRqUU07O0lBRUUsZ0NBQWlDO0V2RXdqUXpDO0V1RXRqUU07O0lBRUUsaUNBQWtDO0V2RXdqUTFDO0V1RXRqUU07O0lBRUUsK0JBQWdDO0V2RXdqUXhDO0V1RXZrUU07SUFBd0Isd0JBQTJCO0V2RTBrUXpEO0V1RXprUU07O0lBRUUsNEJBQStCO0V2RTJrUXZDO0V1RXprUU07O0lBRUUsOEJBQWlDO0V2RTJrUXpDO0V1RXprUU07O0lBRUUsK0JBQWtDO0V2RTJrUTFDO0V1RXprUU07O0lBRUUsNkJBQWdDO0V2RTJrUXhDO0V1RTFsUU07SUFBd0IsMEJBQTJCO0V2RTZsUXpEO0V1RTVsUU07O0lBRUUsOEJBQStCO0V2RThsUXZDO0V1RTVsUU07O0lBRUUsZ0NBQWlDO0V2RThsUXpDO0V1RTVsUU07O0lBRUUsaUNBQWtDO0V2RThsUTFDO0V1RTVsUU07O0lBRUUsK0JBQWdDO0V2RThsUXhDO0V1RTdtUU07SUFBd0Isd0JBQTJCO0V2RWduUXpEO0V1RS9tUU07O0lBRUUsNEJBQStCO0V2RWluUXZDO0V1RS9tUU07O0lBRUUsOEJBQWlDO0V2RWluUXpDO0V1RS9tUU07O0lBRUUsK0JBQWtDO0V2RWluUTFDO0V1RS9tUU07O0lBRUUsNkJBQWdDO0V2RWluUXhDO0V1RTNtUUU7SUFBbUIsdUJBQXVCO0V2RThtUTVDO0V1RTdtUUU7O0lBRUUsMkJBQTJCO0V2RSttUS9CO0V1RTdtUUU7O0lBRUUsNkJBQTZCO0V2RSttUWpDO0V1RTdtUUU7O0lBRUUsOEJBQThCO0V2RSttUWxDO0V1RTdtUUU7O0lBRUUsNEJBQTRCO0V2RSttUWhDO0FBQ0Y7O0Fjem5RSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RWdyUWxFO0V1RS9xUU07O0lBRUUsd0JBQW9DO0V2RWlyUTVDO0V1RS9xUU07O0lBRUUsMEJBQXdDO0V2RWlyUWhEO0V1RS9xUU07O0lBRUUsMkJBQTBDO0V2RWlyUWxEO0V1RS9xUU07O0lBRUUseUJBQXNDO0V2RWlyUTlDO0V1RWhzUU07SUFBZ0MsMEJBQTRCO0V2RW1zUWxFO0V1RWxzUU07O0lBRUUsOEJBQW9DO0V2RW9zUTVDO0V1RWxzUU07O0lBRUUsZ0NBQXdDO0V2RW9zUWhEO0V1RWxzUU07O0lBRUUsaUNBQTBDO0V2RW9zUWxEO0V1RWxzUU07O0lBRUUsK0JBQXNDO0V2RW9zUTlDO0V1RW50UU07SUFBZ0MseUJBQTRCO0V2RXN0UWxFO0V1RXJ0UU07O0lBRUUsNkJBQW9DO0V2RXV0UTVDO0V1RXJ0UU07O0lBRUUsK0JBQXdDO0V2RXV0UWhEO0V1RXJ0UU07O0lBRUUsZ0NBQTBDO0V2RXV0UWxEO0V1RXJ0UU07O0lBRUUsOEJBQXNDO0V2RXV0UTlDO0V1RXR1UU07SUFBZ0MsdUJBQTRCO0V2RXl1UWxFO0V1RXh1UU07O0lBRUUsMkJBQW9DO0V2RTB1UTVDO0V1RXh1UU07O0lBRUUsNkJBQXdDO0V2RTB1UWhEO0V1RXh1UU07O0lBRUUsOEJBQTBDO0V2RTB1UWxEO0V1RXh1UU07O0lBRUUsNEJBQXNDO0V2RTB1UTlDO0V1RXp2UU07SUFBZ0MseUJBQTRCO0V2RTR2UWxFO0V1RTN2UU07O0lBRUUsNkJBQW9DO0V2RTZ2UTVDO0V1RTN2UU07O0lBRUUsK0JBQXdDO0V2RTZ2UWhEO0V1RTN2UU07O0lBRUUsZ0NBQTBDO0V2RTZ2UWxEO0V1RTN2UU07O0lBRUUsOEJBQXNDO0V2RTZ2UTlDO0V1RTV3UU07SUFBZ0MsdUJBQTRCO0V2RSt3UWxFO0V1RTl3UU07O0lBRUUsMkJBQW9DO0V2RWd4UTVDO0V1RTl3UU07O0lBRUUsNkJBQXdDO0V2RWd4UWhEO0V1RTl3UU07O0lBRUUsOEJBQTBDO0V2RWd4UWxEO0V1RTl3UU07O0lBRUUsNEJBQXNDO0V2RWd4UTlDO0V1RS94UU07SUFBZ0MscUJBQTRCO0V2RWt5UWxFO0V1RWp5UU07O0lBRUUseUJBQW9DO0V2RW15UTVDO0V1RWp5UU07O0lBRUUsMkJBQXdDO0V2RW15UWhEO0V1RWp5UU07O0lBRUUsNEJBQTBDO0V2RW15UWxEO0V1RWp5UU07O0lBRUUsMEJBQXNDO0V2RW15UTlDO0V1RWx6UU07SUFBZ0MsMkJBQTRCO0V2RXF6UWxFO0V1RXB6UU07O0lBRUUsK0JBQW9DO0V2RXN6UTVDO0V1RXB6UU07O0lBRUUsaUNBQXdDO0V2RXN6UWhEO0V1RXB6UU07O0lBRUUsa0NBQTBDO0V2RXN6UWxEO0V1RXB6UU07O0lBRUUsZ0NBQXNDO0V2RXN6UTlDO0V1RXIwUU07SUFBZ0MsMEJBQTRCO0V2RXcwUWxFO0V1RXYwUU07O0lBRUUsOEJBQW9DO0V2RXkwUTVDO0V1RXYwUU07O0lBRUUsZ0NBQXdDO0V2RXkwUWhEO0V1RXYwUU07O0lBRUUsaUNBQTBDO0V2RXkwUWxEO0V1RXYwUU07O0lBRUUsK0JBQXNDO0V2RXkwUTlDO0V1RXgxUU07SUFBZ0Msd0JBQTRCO0V2RTIxUWxFO0V1RTExUU07O0lBRUUsNEJBQW9DO0V2RTQxUTVDO0V1RTExUU07O0lBRUUsOEJBQXdDO0V2RTQxUWhEO0V1RTExUU07O0lBRUUsK0JBQTBDO0V2RTQxUWxEO0V1RTExUU07O0lBRUUsNkJBQXNDO0V2RTQxUTlDO0V1RTMyUU07SUFBZ0MsMEJBQTRCO0V2RTgyUWxFO0V1RTcyUU07O0lBRUUsOEJBQW9DO0V2RSsyUTVDO0V1RTcyUU07O0lBRUUsZ0NBQXdDO0V2RSsyUWhEO0V1RTcyUU07O0lBRUUsaUNBQTBDO0V2RSsyUWxEO0V1RTcyUU07O0lBRUUsK0JBQXNDO0V2RSsyUTlDO0V1RTkzUU07SUFBZ0Msd0JBQTRCO0V2RWk0UWxFO0V1RWg0UU07O0lBRUUsNEJBQW9DO0V2RWs0UTVDO0V1RWg0UU07O0lBRUUsOEJBQXdDO0V2RWs0UWhEO0V1RWg0UU07O0lBRUUsK0JBQTBDO0V2RWs0UWxEO0V1RWg0UU07O0lBRUUsNkJBQXNDO0V2RWs0UTlDO0V1RTEzUU07SUFBd0IsMkJBQTJCO0V2RTYzUXpEO0V1RTUzUU07O0lBRUUsK0JBQStCO0V2RTgzUXZDO0V1RTUzUU07O0lBRUUsaUNBQWlDO0V2RTgzUXpDO0V1RTUzUU07O0lBRUUsa0NBQWtDO0V2RTgzUTFDO0V1RTUzUU07O0lBRUUsZ0NBQWdDO0V2RTgzUXhDO0V1RTc0UU07SUFBd0IsMEJBQTJCO0V2RWc1UXpEO0V1RS80UU07O0lBRUUsOEJBQStCO0V2RWk1UXZDO0V1RS80UU07O0lBRUUsZ0NBQWlDO0V2RWk1UXpDO0V1RS80UU07O0lBRUUsaUNBQWtDO0V2RWk1UTFDO0V1RS80UU07O0lBRUUsK0JBQWdDO0V2RWk1UXhDO0V1RWg2UU07SUFBd0Isd0JBQTJCO0V2RW02UXpEO0V1RWw2UU07O0lBRUUsNEJBQStCO0V2RW82UXZDO0V1RWw2UU07O0lBRUUsOEJBQWlDO0V2RW82UXpDO0V1RWw2UU07O0lBRUUsK0JBQWtDO0V2RW82UTFDO0V1RWw2UU07O0lBRUUsNkJBQWdDO0V2RW82UXhDO0V1RW43UU07SUFBd0IsMEJBQTJCO0V2RXM3UXpEO0V1RXI3UU07O0lBRUUsOEJBQStCO0V2RXU3UXZDO0V1RXI3UU07O0lBRUUsZ0NBQWlDO0V2RXU3UXpDO0V1RXI3UU07O0lBRUUsaUNBQWtDO0V2RXU3UTFDO0V1RXI3UU07O0lBRUUsK0JBQWdDO0V2RXU3UXhDO0V1RXQ4UU07SUFBd0Isd0JBQTJCO0V2RXk4UXpEO0V1RXg4UU07O0lBRUUsNEJBQStCO0V2RTA4UXZDO0V1RXg4UU07O0lBRUUsOEJBQWlDO0V2RTA4UXpDO0V1RXg4UU07O0lBRUUsK0JBQWtDO0V2RTA4UTFDO0V1RXg4UU07O0lBRUUsNkJBQWdDO0V2RTA4UXhDO0V1RXA4UUU7SUFBbUIsdUJBQXVCO0V2RXU4UTVDO0V1RXQ4UUU7O0lBRUUsMkJBQTJCO0V2RXc4US9CO0V1RXQ4UUU7O0lBRUUsNkJBQTZCO0V2RXc4UWpDO0V1RXQ4UUU7O0lBRUUsOEJBQThCO0V2RXc4UWxDO0V1RXQ4UUU7O0lBRUUsNEJBQTRCO0V2RXc4UWhDO0FBQ0Y7O0FjbDlRSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RXlnUmxFO0V1RXhnUk07O0lBRUUsd0JBQW9DO0V2RTBnUjVDO0V1RXhnUk07O0lBRUUsMEJBQXdDO0V2RTBnUmhEO0V1RXhnUk07O0lBRUUsMkJBQTBDO0V2RTBnUmxEO0V1RXhnUk07O0lBRUUseUJBQXNDO0V2RTBnUjlDO0V1RXpoUk07SUFBZ0MsMEJBQTRCO0V2RTRoUmxFO0V1RTNoUk07O0lBRUUsOEJBQW9DO0V2RTZoUjVDO0V1RTNoUk07O0lBRUUsZ0NBQXdDO0V2RTZoUmhEO0V1RTNoUk07O0lBRUUsaUNBQTBDO0V2RTZoUmxEO0V1RTNoUk07O0lBRUUsK0JBQXNDO0V2RTZoUjlDO0V1RTVpUk07SUFBZ0MseUJBQTRCO0V2RStpUmxFO0V1RTlpUk07O0lBRUUsNkJBQW9DO0V2RWdqUjVDO0V1RTlpUk07O0lBRUUsK0JBQXdDO0V2RWdqUmhEO0V1RTlpUk07O0lBRUUsZ0NBQTBDO0V2RWdqUmxEO0V1RTlpUk07O0lBRUUsOEJBQXNDO0V2RWdqUjlDO0V1RS9qUk07SUFBZ0MsdUJBQTRCO0V2RWtrUmxFO0V1RWprUk07O0lBRUUsMkJBQW9DO0V2RW1rUjVDO0V1RWprUk07O0lBRUUsNkJBQXdDO0V2RW1rUmhEO0V1RWprUk07O0lBRUUsOEJBQTBDO0V2RW1rUmxEO0V1RWprUk07O0lBRUUsNEJBQXNDO0V2RW1rUjlDO0V1RWxsUk07SUFBZ0MseUJBQTRCO0V2RXFsUmxFO0V1RXBsUk07O0lBRUUsNkJBQW9DO0V2RXNsUjVDO0V1RXBsUk07O0lBRUUsK0JBQXdDO0V2RXNsUmhEO0V1RXBsUk07O0lBRUUsZ0NBQTBDO0V2RXNsUmxEO0V1RXBsUk07O0lBRUUsOEJBQXNDO0V2RXNsUjlDO0V1RXJtUk07SUFBZ0MsdUJBQTRCO0V2RXdtUmxFO0V1RXZtUk07O0lBRUUsMkJBQW9DO0V2RXltUjVDO0V1RXZtUk07O0lBRUUsNkJBQXdDO0V2RXltUmhEO0V1RXZtUk07O0lBRUUsOEJBQTBDO0V2RXltUmxEO0V1RXZtUk07O0lBRUUsNEJBQXNDO0V2RXltUjlDO0V1RXhuUk07SUFBZ0MscUJBQTRCO0V2RTJuUmxFO0V1RTFuUk07O0lBRUUseUJBQW9DO0V2RTRuUjVDO0V1RTFuUk07O0lBRUUsMkJBQXdDO0V2RTRuUmhEO0V1RTFuUk07O0lBRUUsNEJBQTBDO0V2RTRuUmxEO0V1RTFuUk07O0lBRUUsMEJBQXNDO0V2RTRuUjlDO0V1RTNvUk07SUFBZ0MsMkJBQTRCO0V2RThvUmxFO0V1RTdvUk07O0lBRUUsK0JBQW9DO0V2RStvUjVDO0V1RTdvUk07O0lBRUUsaUNBQXdDO0V2RStvUmhEO0V1RTdvUk07O0lBRUUsa0NBQTBDO0V2RStvUmxEO0V1RTdvUk07O0lBRUUsZ0NBQXNDO0V2RStvUjlDO0V1RTlwUk07SUFBZ0MsMEJBQTRCO0V2RWlxUmxFO0V1RWhxUk07O0lBRUUsOEJBQW9DO0V2RWtxUjVDO0V1RWhxUk07O0lBRUUsZ0NBQXdDO0V2RWtxUmhEO0V1RWhxUk07O0lBRUUsaUNBQTBDO0V2RWtxUmxEO0V1RWhxUk07O0lBRUUsK0JBQXNDO0V2RWtxUjlDO0V1RWpyUk07SUFBZ0Msd0JBQTRCO0V2RW9yUmxFO0V1RW5yUk07O0lBRUUsNEJBQW9DO0V2RXFyUjVDO0V1RW5yUk07O0lBRUUsOEJBQXdDO0V2RXFyUmhEO0V1RW5yUk07O0lBRUUsK0JBQTBDO0V2RXFyUmxEO0V1RW5yUk07O0lBRUUsNkJBQXNDO0V2RXFyUjlDO0V1RXBzUk07SUFBZ0MsMEJBQTRCO0V2RXVzUmxFO0V1RXRzUk07O0lBRUUsOEJBQW9DO0V2RXdzUjVDO0V1RXRzUk07O0lBRUUsZ0NBQXdDO0V2RXdzUmhEO0V1RXRzUk07O0lBRUUsaUNBQTBDO0V2RXdzUmxEO0V1RXRzUk07O0lBRUUsK0JBQXNDO0V2RXdzUjlDO0V1RXZ0Uk07SUFBZ0Msd0JBQTRCO0V2RTB0UmxFO0V1RXp0Uk07O0lBRUUsNEJBQW9DO0V2RTJ0UjVDO0V1RXp0Uk07O0lBRUUsOEJBQXdDO0V2RTJ0UmhEO0V1RXp0Uk07O0lBRUUsK0JBQTBDO0V2RTJ0UmxEO0V1RXp0Uk07O0lBRUUsNkJBQXNDO0V2RTJ0UjlDO0V1RW50Uk07SUFBd0IsMkJBQTJCO0V2RXN0UnpEO0V1RXJ0Uk07O0lBRUUsK0JBQStCO0V2RXV0UnZDO0V1RXJ0Uk07O0lBRUUsaUNBQWlDO0V2RXV0UnpDO0V1RXJ0Uk07O0lBRUUsa0NBQWtDO0V2RXV0UjFDO0V1RXJ0Uk07O0lBRUUsZ0NBQWdDO0V2RXV0UnhDO0V1RXR1Uk07SUFBd0IsMEJBQTJCO0V2RXl1UnpEO0V1RXh1Uk07O0lBRUUsOEJBQStCO0V2RTB1UnZDO0V1RXh1Uk07O0lBRUUsZ0NBQWlDO0V2RTB1UnpDO0V1RXh1Uk07O0lBRUUsaUNBQWtDO0V2RTB1UjFDO0V1RXh1Uk07O0lBRUUsK0JBQWdDO0V2RTB1UnhDO0V1RXp2Uk07SUFBd0Isd0JBQTJCO0V2RTR2UnpEO0V1RTN2Uk07O0lBRUUsNEJBQStCO0V2RTZ2UnZDO0V1RTN2Uk07O0lBRUUsOEJBQWlDO0V2RTZ2UnpDO0V1RTN2Uk07O0lBRUUsK0JBQWtDO0V2RTZ2UjFDO0V1RTN2Uk07O0lBRUUsNkJBQWdDO0V2RTZ2UnhDO0V1RTV3Uk07SUFBd0IsMEJBQTJCO0V2RSt3UnpEO0V1RTl3Uk07O0lBRUUsOEJBQStCO0V2RWd4UnZDO0V1RTl3Uk07O0lBRUUsZ0NBQWlDO0V2RWd4UnpDO0V1RTl3Uk07O0lBRUUsaUNBQWtDO0V2RWd4UjFDO0V1RTl3Uk07O0lBRUUsK0JBQWdDO0V2RWd4UnhDO0V1RS94Uk07SUFBd0Isd0JBQTJCO0V2RWt5UnpEO0V1RWp5Uk07O0lBRUUsNEJBQStCO0V2RW15UnZDO0V1RWp5Uk07O0lBRUUsOEJBQWlDO0V2RW15UnpDO0V1RWp5Uk07O0lBRUUsK0JBQWtDO0V2RW15UjFDO0V1RWp5Uk07O0lBRUUsNkJBQWdDO0V2RW15UnhDO0V1RTd4UkU7SUFBbUIsdUJBQXVCO0V2RWd5UjVDO0V1RS94UkU7O0lBRUUsMkJBQTJCO0V2RWl5Ui9CO0V1RS94UkU7O0lBRUUsNkJBQTZCO0V2RWl5UmpDO0V1RS94UkU7O0lBRUUsOEJBQThCO0V2RWl5UmxDO0V1RS94UkU7O0lBRUUsNEJBQTRCO0V2RWl5UmhDO0FBQ0Y7O0FjM3lSSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RWsyUmxFO0V1RWoyUk07O0lBRUUsd0JBQW9DO0V2RW0yUjVDO0V1RWoyUk07O0lBRUUsMEJBQXdDO0V2RW0yUmhEO0V1RWoyUk07O0lBRUUsMkJBQTBDO0V2RW0yUmxEO0V1RWoyUk07O0lBRUUseUJBQXNDO0V2RW0yUjlDO0V1RWwzUk07SUFBZ0MsMEJBQTRCO0V2RXEzUmxFO0V1RXAzUk07O0lBRUUsOEJBQW9DO0V2RXMzUjVDO0V1RXAzUk07O0lBRUUsZ0NBQXdDO0V2RXMzUmhEO0V1RXAzUk07O0lBRUUsaUNBQTBDO0V2RXMzUmxEO0V1RXAzUk07O0lBRUUsK0JBQXNDO0V2RXMzUjlDO0V1RXI0Uk07SUFBZ0MseUJBQTRCO0V2RXc0UmxFO0V1RXY0Uk07O0lBRUUsNkJBQW9DO0V2RXk0UjVDO0V1RXY0Uk07O0lBRUUsK0JBQXdDO0V2RXk0UmhEO0V1RXY0Uk07O0lBRUUsZ0NBQTBDO0V2RXk0UmxEO0V1RXY0Uk07O0lBRUUsOEJBQXNDO0V2RXk0UjlDO0V1RXg1Uk07SUFBZ0MsdUJBQTRCO0V2RTI1UmxFO0V1RTE1Uk07O0lBRUUsMkJBQW9DO0V2RTQ1UjVDO0V1RTE1Uk07O0lBRUUsNkJBQXdDO0V2RTQ1UmhEO0V1RTE1Uk07O0lBRUUsOEJBQTBDO0V2RTQ1UmxEO0V1RTE1Uk07O0lBRUUsNEJBQXNDO0V2RTQ1UjlDO0V1RTM2Uk07SUFBZ0MseUJBQTRCO0V2RTg2UmxFO0V1RTc2Uk07O0lBRUUsNkJBQW9DO0V2RSs2UjVDO0V1RTc2Uk07O0lBRUUsK0JBQXdDO0V2RSs2UmhEO0V1RTc2Uk07O0lBRUUsZ0NBQTBDO0V2RSs2UmxEO0V1RTc2Uk07O0lBRUUsOEJBQXNDO0V2RSs2UjlDO0V1RTk3Uk07SUFBZ0MsdUJBQTRCO0V2RWk4UmxFO0V1RWg4Uk07O0lBRUUsMkJBQW9DO0V2RWs4UjVDO0V1RWg4Uk07O0lBRUUsNkJBQXdDO0V2RWs4UmhEO0V1RWg4Uk07O0lBRUUsOEJBQTBDO0V2RWs4UmxEO0V1RWg4Uk07O0lBRUUsNEJBQXNDO0V2RWs4UjlDO0V1RWo5Uk07SUFBZ0MscUJBQTRCO0V2RW85UmxFO0V1RW45Uk07O0lBRUUseUJBQW9DO0V2RXE5UjVDO0V1RW45Uk07O0lBRUUsMkJBQXdDO0V2RXE5UmhEO0V1RW45Uk07O0lBRUUsNEJBQTBDO0V2RXE5UmxEO0V1RW45Uk07O0lBRUUsMEJBQXNDO0V2RXE5UjlDO0V1RXArUk07SUFBZ0MsMkJBQTRCO0V2RXUrUmxFO0V1RXQrUk07O0lBRUUsK0JBQW9DO0V2RXcrUjVDO0V1RXQrUk07O0lBRUUsaUNBQXdDO0V2RXcrUmhEO0V1RXQrUk07O0lBRUUsa0NBQTBDO0V2RXcrUmxEO0V1RXQrUk07O0lBRUUsZ0NBQXNDO0V2RXcrUjlDO0V1RXYvUk07SUFBZ0MsMEJBQTRCO0V2RTAvUmxFO0V1RXovUk07O0lBRUUsOEJBQW9DO0V2RTIvUjVDO0V1RXovUk07O0lBRUUsZ0NBQXdDO0V2RTIvUmhEO0V1RXovUk07O0lBRUUsaUNBQTBDO0V2RTIvUmxEO0V1RXovUk07O0lBRUUsK0JBQXNDO0V2RTIvUjlDO0V1RTFnU007SUFBZ0Msd0JBQTRCO0V2RTZnU2xFO0V1RTVnU007O0lBRUUsNEJBQW9DO0V2RThnUzVDO0V1RTVnU007O0lBRUUsOEJBQXdDO0V2RThnU2hEO0V1RTVnU007O0lBRUUsK0JBQTBDO0V2RThnU2xEO0V1RTVnU007O0lBRUUsNkJBQXNDO0V2RThnUzlDO0V1RTdoU007SUFBZ0MsMEJBQTRCO0V2RWdpU2xFO0V1RS9oU007O0lBRUUsOEJBQW9DO0V2RWlpUzVDO0V1RS9oU007O0lBRUUsZ0NBQXdDO0V2RWlpU2hEO0V1RS9oU007O0lBRUUsaUNBQTBDO0V2RWlpU2xEO0V1RS9oU007O0lBRUUsK0JBQXNDO0V2RWlpUzlDO0V1RWhqU007SUFBZ0Msd0JBQTRCO0V2RW1qU2xFO0V1RWxqU007O0lBRUUsNEJBQW9DO0V2RW9qUzVDO0V1RWxqU007O0lBRUUsOEJBQXdDO0V2RW9qU2hEO0V1RWxqU007O0lBRUUsK0JBQTBDO0V2RW9qU2xEO0V1RWxqU007O0lBRUUsNkJBQXNDO0V2RW9qUzlDO0V1RTVpU007SUFBd0IsMkJBQTJCO0V2RStpU3pEO0V1RTlpU007O0lBRUUsK0JBQStCO0V2RWdqU3ZDO0V1RTlpU007O0lBRUUsaUNBQWlDO0V2RWdqU3pDO0V1RTlpU007O0lBRUUsa0NBQWtDO0V2RWdqUzFDO0V1RTlpU007O0lBRUUsZ0NBQWdDO0V2RWdqU3hDO0V1RS9qU007SUFBd0IsMEJBQTJCO0V2RWtrU3pEO0V1RWprU007O0lBRUUsOEJBQStCO0V2RW1rU3ZDO0V1RWprU007O0lBRUUsZ0NBQWlDO0V2RW1rU3pDO0V1RWprU007O0lBRUUsaUNBQWtDO0V2RW1rUzFDO0V1RWprU007O0lBRUUsK0JBQWdDO0V2RW1rU3hDO0V1RWxsU007SUFBd0Isd0JBQTJCO0V2RXFsU3pEO0V1RXBsU007O0lBRUUsNEJBQStCO0V2RXNsU3ZDO0V1RXBsU007O0lBRUUsOEJBQWlDO0V2RXNsU3pDO0V1RXBsU007O0lBRUUsK0JBQWtDO0V2RXNsUzFDO0V1RXBsU007O0lBRUUsNkJBQWdDO0V2RXNsU3hDO0V1RXJtU007SUFBd0IsMEJBQTJCO0V2RXdtU3pEO0V1RXZtU007O0lBRUUsOEJBQStCO0V2RXltU3ZDO0V1RXZtU007O0lBRUUsZ0NBQWlDO0V2RXltU3pDO0V1RXZtU007O0lBRUUsaUNBQWtDO0V2RXltUzFDO0V1RXZtU007O0lBRUUsK0JBQWdDO0V2RXltU3hDO0V1RXhuU007SUFBd0Isd0JBQTJCO0V2RTJuU3pEO0V1RTFuU007O0lBRUUsNEJBQStCO0V2RTRuU3ZDO0V1RTFuU007O0lBRUUsOEJBQWlDO0V2RTRuU3pDO0V1RTFuU007O0lBRUUsK0JBQWtDO0V2RTRuUzFDO0V1RTFuU007O0lBRUUsNkJBQWdDO0V2RTRuU3hDO0V1RXRuU0U7SUFBbUIsdUJBQXVCO0V2RXluUzVDO0V1RXhuU0U7O0lBRUUsMkJBQTJCO0V2RTBuUy9CO0V1RXhuU0U7O0lBRUUsNkJBQTZCO0V2RTBuU2pDO0V1RXhuU0U7O0lBRUUsOEJBQThCO0V2RTBuU2xDO0V1RXhuU0U7O0lBRUUsNEJBQTRCO0V2RTBuU2hDO0FBQ0Y7O0F3RTVyU0E7RUFFSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsT0FBTztFQUNQLFVBQVU7RUFFVixvQkFBb0I7RUFDcEIsV0FBVztFQUVYLGtDQUFrQztBeEU0clN0Qzs7QXlFdHNTQTtFQUFrQiw0R0FBOEM7QXpFMHNTaEU7O0F5RXRzU0E7RUFBaUIsOEJBQThCO0F6RTBzUy9DOztBeUV6c1NBO0VBQWlCLDhCQUE4QjtBekU2c1MvQzs7QXlFNXNTQTtFQUFpQiw4QkFBOEI7QXpFZ3RTL0M7O0F5RS9zU0E7RUNURSxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBMUU0dFNyQjs7QXlFN3NTSTtFQUF3QiwyQkFBMkI7QXpFaXRTdkQ7O0F5RWh0U0k7RUFBd0IsNEJBQTRCO0F6RW90U3hEOztBeUVudFNJO0VBQXdCLDZCQUE2QjtBekV1dFN6RDs7QWNsclNJO0UyRHZDQTtJQUF3QiwyQkFBMkI7RXpFOHRTckQ7RXlFN3RTRTtJQUF3Qiw0QkFBNEI7RXpFZ3VTdEQ7RXlFL3RTRTtJQUF3Qiw2QkFBNkI7RXpFa3VTdkQ7QUFDRjs7QWM5clNJO0UyRHZDQTtJQUF3QiwyQkFBMkI7RXpFMHVTckQ7RXlFenVTRTtJQUF3Qiw0QkFBNEI7RXpFNHVTdEQ7RXlFM3VTRTtJQUF3Qiw2QkFBNkI7RXpFOHVTdkQ7QUFDRjs7QWMxc1NJO0UyRHZDQTtJQUF3QiwyQkFBMkI7RXpFc3ZTckQ7RXlFcnZTRTtJQUF3Qiw0QkFBNEI7RXpFd3ZTdEQ7RXlFdnZTRTtJQUF3Qiw2QkFBNkI7RXpFMHZTdkQ7QUFDRjs7QWN0dFNJO0UyRHZDQTtJQUF3QiwyQkFBMkI7RXpFa3dTckQ7RXlFandTRTtJQUF3Qiw0QkFBNEI7RXpFb3dTdEQ7RXlFbndTRTtJQUF3Qiw2QkFBNkI7RXpFc3dTdkQ7QUFDRjs7QXlFandTQTtFQUFtQixvQ0FBb0M7QXpFcXdTdkQ7O0F5RXB3U0E7RUFBbUIsb0NBQW9DO0F6RXd3U3ZEOztBeUV2d1NBO0VBQW1CLHFDQUFxQztBekUyd1N4RDs7QXlFdndTQTtFQUF1QiwyQkFBMEM7QXpFMndTakU7O0F5RTF3U0E7RUFBdUIsK0JBQTRDO0F6RTh3U25FOztBeUU3d1NBO0VBQXVCLDJCQUEyQztBekVpeFNsRTs7QXlFaHhTQTtFQUF1QiwyQkFBeUM7QXpFb3hTaEU7O0F5RW54U0E7RUFBdUIsOEJBQTJDO0F6RXV4U2xFOztBeUV0eFNBO0VBQXVCLDZCQUE2QjtBekUweFNwRDs7QXlFdHhTQTtFQUFjLHNCQUF3QjtBekUweFN0Qzs7QTJFajBTRTtFQUNFLHlCQUF3QjtBM0VvMFM1Qjs7QUsxelNFO0VzRUxNLHlCQUEwRTtBM0VtMFNsRjs7QTJFejBTRTtFQUNFLHlCQUF3QjtBM0U0MFM1Qjs7QUtsMFNFO0VzRUxNLHlCQUEwRTtBM0UyMFNsRjs7QTJFajFTRTtFQUNFLHlCQUF3QjtBM0VvMVM1Qjs7QUsxMFNFO0VzRUxNLHlCQUEwRTtBM0VtMVNsRjs7QTJFejFTRTtFQUNFLHlCQUF3QjtBM0U0MVM1Qjs7QUtsMVNFO0VzRUxNLHlCQUEwRTtBM0UyMVNsRjs7QTJFajJTRTtFQUNFLHlCQUF3QjtBM0VvMlM1Qjs7QUsxMVNFO0VzRUxNLHlCQUEwRTtBM0VtMlNsRjs7QTJFejJTRTtFQUNFLHlCQUF3QjtBM0U0MlM1Qjs7QUtsMlNFO0VzRUxNLHlCQUEwRTtBM0UyMlNsRjs7QTJFajNTRTtFQUNFLHlCQUF3QjtBM0VvM1M1Qjs7QUsxMlNFO0VzRUxNLHlCQUEwRTtBM0VtM1NsRjs7QTJFejNTRTtFQUNFLHlCQUF3QjtBM0U0M1M1Qjs7QUtsM1NFO0VzRUxNLHlCQUEwRTtBM0UyM1NsRjs7QXlFcDFTQTtFQUFhLHlCQUE2QjtBekV3MVMxQzs7QXlFdjFTQTtFQUFjLHlCQUE2QjtBekUyMVMzQzs7QXlFejFTQTtFQUFpQixvQ0FBa0M7QXpFNjFTbkQ7O0F5RTUxU0E7RUFBaUIsMENBQWtDO0F6RWcyU25EOztBeUU1MVNBO0VHdkRFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3QixTQUFTO0E1RXU1U1g7O0F5RWgyU0E7RUFBd0IsZ0NBQWdDO0F6RW8yU3hEOztBeUVsMlNBO0VBQ0UsaUNBQWlDO0VBQ2pDLGdDQUFnQztBekVxMlNsQzs7QXlFaDJTQTtFQUFjLHlCQUF5QjtBekVvMlN2Qzs7QTZFcjZTQTtFQUNFLDhCQUE4QjtBN0V3NlNoQzs7QTZFcjZTQTtFQUNFLDZCQUE2QjtBN0V3NlMvQjs7QThFeDZTRTtFNUVPRjs7O0k0RURNLDRCQUE0QjtJQUU1QiwyQkFBMkI7RTlFdzZTL0I7RThFcjZTRTtJQUVJLDBCQUEwQjtFOUVzNlNoQztFOEU3NVNFO0lBQ0UsNkJBQTZCO0U5RSs1U2pDO0VFanVTRjtJNEUvS00sZ0NBQWdDO0U5RW01U3BDO0U4RWo1U0U7O0lBRUUseUIzRXpDWTtJMkUwQ1osd0JBQXdCO0U5RW01UzVCO0U4RWg1U0U7O0lBRUUsd0JBQXdCO0U5RWs1UzVCO0U4RS80U0U7OztJQUdFLFVBQVU7SUFDVixTQUFTO0U5RWk1U2I7RThFOTRTRTs7SUFFRSx1QkFBdUI7RTlFZzVTM0I7RThFeDRTRTtJQUNFLFEzRTJpQ2dDO0VIKzFRcEM7RUU3NlNGO0k0RXNDTSwyQkFBMkM7RTlFMDRTL0M7RThFeDRTRTtJQUNFLDJCQUEyQztFOUUwNFMvQztFaUMvOFNGO0k2QzBFTSxhQUFhO0U5RXc0U2pCO0VzQzk5U0Y7SXdDeUZNLHNCM0U3RVM7RUhxOVNiO0VnQmwrU0Y7SThEOEZNLG9DQUFvQztFOUV1NFN4QztFOEV4NFNFOztJQUtJLGlDQUFtQztFOUV1NFN6QztFZ0JqOFNGOztJOERpRVEsb0NBQXNDO0U5RW80UzVDO0VnQmgzU0Y7SThEZk0sY0FBYztFOUVrNFNsQjtFaUIvK1NBOzs7O0k2RG1ITSxxQjNFOUdVO0VIZy9TaEI7RWdCMzRTRjtJOERjTSxjQUFjO0lBQ2QscUIzRXBIWTtFSG8vU2hCO0FBQ0Y7O0ErRS8vU0E7O1UvRW1nVFU7QUV0OVNWO0U2RTFDTSw4QkFBOEI7QS9FbWdUcEM7O0ErRWpnVEE7RUFBbUIsbUJBQW1CO0EvRXFnVHRDOztBK0VwZ1RBO0VBQVksbUJBQW1CO0EvRXdnVC9COztBK0V2Z1RBO0VBQWMsWUFBWTtBL0UyZ1QxQjs7QStFMWdUQTtFQUFjLFlBQVk7QS9FOGdUMUI7O0ErRTdnVEE7RUFBWSxVQUFVO0EvRWloVHRCOztBK0UvZ1RBO0VBQXlCLDJCQUEyQjtBL0VtaFRwRDs7QStFbGhUQTtFQUF3QiwyQkFBMkI7QS9Fc2hUbkQ7O0ErRW5oVEE7RUFDSTtJQUFRLGdCQUFnQjtFL0V1aFQxQjtFK0V2aFQ4QjtJQUFTLGdCQUFnQjtFL0UwaFR2RDtFK0V6aFRFO0lBQVEsZ0JBQWdCO0UvRTRoVDFCO0UrRTVoVDhCO0lBQVMsZ0JBQWdCO0UvRStoVHZEO0UrRTloVEU7SUFBUSxnQkFBZ0I7RS9FaWlUMUI7RStFamlUOEI7SUFBUyxnQkFBZ0I7RS9Fb2lUdkQ7RStFbmlURTtJQUFRLGdCQUFnQjtFL0VzaVQxQjtFK0V0aVQ4QjtJQUFTLGdCQUFnQjtFL0V5aVR2RDtFK0V4aVRFO0lBQVMsZ0JBQWdCO0UvRTJpVDNCO0UrRTNpVCtCO0lBQVMsZ0JBQWdCO0UvRThpVHhEO0UrRTdpVEU7SUFBUyxnQkFBZ0I7RS9FZ2pUM0I7RStFaGpUK0I7SUFBUyxnQkFBZ0I7RS9FbWpUeEQ7RStFbGpURTtJQUFTLGdCQUFnQjtFL0VxalQzQjtFK0VyalQrQjtJQUFTLGdCQUFnQjtFL0V3alR4RDtFK0V2alRFO0lBQVMsZ0JBQWdCO0UvRTBqVDNCO0UrRTFqVCtCO0lBQVMsZ0JBQWdCO0UvRTZqVHhEO0UrRTVqVEU7SUFBUyxnQkFBZ0I7RS9FK2pUM0I7RStFL2pUK0I7SUFBUyxnQkFBZ0I7RS9Fa2tUeEQ7RStFamtURTtJQUFTLGdCQUFnQjtFL0Vva1QzQjtFK0Vwa1QrQjtJQUFTLGdCQUFnQjtFL0V1a1R4RDtFK0V0a1RFO0lBQVMsZ0JBQWdCO0UvRXlrVDNCO0UrRXprVCtCO0lBQVMsZ0JBQWdCO0UvRTRrVHhEO0FBQ0Y7O0ErRXprVEE7RUFkSTtJQWVRLGdCQUFnQjtFL0U2a1QxQjtFK0U1bFQ4QjtJQWVTLGdCQUFnQjtFL0VnbFR2RDtFK0U5bFRFO0lBZVEsZ0JBQWdCO0UvRWtsVDFCO0UrRWptVDhCO0lBZVMsZ0JBQWdCO0UvRXFsVHZEO0UrRW5tVEU7SUFlUSxnQkFBZ0I7RS9FdWxUMUI7RStFdG1UOEI7SUFlUyxnQkFBZ0I7RS9FMGxUdkQ7RStFeG1URTtJQWVRLGdCQUFnQjtFL0U0bFQxQjtFK0UzbVQ4QjtJQWVTLGdCQUFnQjtFL0UrbFR2RDtFK0U3bVRFO0lBZVMsZ0JBQWdCO0UvRWltVDNCO0UrRWhuVCtCO0lBZVMsZ0JBQWdCO0UvRW9tVHhEO0UrRWxuVEU7SUFlUyxnQkFBZ0I7RS9Fc21UM0I7RStFcm5UK0I7SUFlUyxnQkFBZ0I7RS9FeW1UeEQ7RStFdm5URTtJQWVTLGdCQUFnQjtFL0UybVQzQjtFK0UxblQrQjtJQWVTLGdCQUFnQjtFL0U4bVR4RDtFK0U1blRFO0lBZVMsZ0JBQWdCO0UvRWduVDNCO0UrRS9uVCtCO0lBZVMsZ0JBQWdCO0UvRW1uVHhEO0UrRWpvVEU7SUFlUyxnQkFBZ0I7RS9FcW5UM0I7RStFcG9UK0I7SUFlUyxnQkFBZ0I7RS9Fd25UeEQ7RStFdG9URTtJQWVTLGdCQUFnQjtFL0UwblQzQjtFK0V6b1QrQjtJQWVTLGdCQUFnQjtFL0U2blR4RDtFK0Uzb1RFO0lBZVMsZ0JBQWdCO0UvRStuVDNCO0UrRTlvVCtCO0lBZVMsZ0JBQWdCO0UvRWtvVHhEO0FBQ0Y7O0ErRS9uVEE7RUE3Qkk7SUE4QlEsZ0JBQWdCO0UvRW1vVDFCO0UrRWpxVDhCO0lBOEJTLGdCQUFnQjtFL0Vzb1R2RDtFK0VucVRFO0lBOEJRLGdCQUFnQjtFL0V3b1QxQjtFK0V0cVQ4QjtJQThCUyxnQkFBZ0I7RS9FMm9UdkQ7RStFeHFURTtJQThCUSxnQkFBZ0I7RS9FNm9UMUI7RStFM3FUOEI7SUE4QlMsZ0JBQWdCO0UvRWdwVHZEO0UrRTdxVEU7SUE4QlEsZ0JBQWdCO0UvRWtwVDFCO0UrRWhyVDhCO0lBOEJTLGdCQUFnQjtFL0VxcFR2RDtFK0VsclRFO0lBOEJTLGdCQUFnQjtFL0V1cFQzQjtFK0VyclQrQjtJQThCUyxnQkFBZ0I7RS9FMHBUeEQ7RStFdnJURTtJQThCUyxnQkFBZ0I7RS9FNHBUM0I7RStFMXJUK0I7SUE4QlMsZ0JBQWdCO0UvRStwVHhEO0UrRTVyVEU7SUE4QlMsZ0JBQWdCO0UvRWlxVDNCO0UrRS9yVCtCO0lBOEJTLGdCQUFnQjtFL0VvcVR4RDtFK0Vqc1RFO0lBOEJTLGdCQUFnQjtFL0VzcVQzQjtFK0Vwc1QrQjtJQThCUyxnQkFBZ0I7RS9FeXFUeEQ7RStFdHNURTtJQThCUyxnQkFBZ0I7RS9FMnFUM0I7RStFenNUK0I7SUE4QlMsZ0JBQWdCO0UvRThxVHhEO0UrRTNzVEU7SUE4QlMsZ0JBQWdCO0UvRWdyVDNCO0UrRTlzVCtCO0lBOEJTLGdCQUFnQjtFL0VtclR4RDtFK0VodFRFO0lBOEJTLGdCQUFnQjtFL0VxclQzQjtFK0VudFQrQjtJQThCUyxnQkFBZ0I7RS9Fd3JUeEQ7QUFDRjs7QStFcnJUQTtFQTVDSTtJQTZDUSxnQkFBZ0I7RS9FeXJUMUI7RStFdHVUOEI7SUE2Q1MsZ0JBQWdCO0UvRTRyVHZEO0UrRXh1VEU7SUE2Q1EsZ0JBQWdCO0UvRThyVDFCO0UrRTN1VDhCO0lBNkNTLGdCQUFnQjtFL0Vpc1R2RDtFK0U3dVRFO0lBNkNRLGdCQUFnQjtFL0Vtc1QxQjtFK0VodlQ4QjtJQTZDUyxnQkFBZ0I7RS9Fc3NUdkQ7RStFbHZURTtJQTZDUSxnQkFBZ0I7RS9Fd3NUMUI7RStFcnZUOEI7SUE2Q1MsZ0JBQWdCO0UvRTJzVHZEO0UrRXZ2VEU7SUE2Q1MsZ0JBQWdCO0UvRTZzVDNCO0UrRTF2VCtCO0lBNkNTLGdCQUFnQjtFL0VndFR4RDtFK0U1dlRFO0lBNkNTLGdCQUFnQjtFL0VrdFQzQjtFK0UvdlQrQjtJQTZDUyxnQkFBZ0I7RS9FcXRUeEQ7RStFandURTtJQTZDUyxnQkFBZ0I7RS9FdXRUM0I7RStFcHdUK0I7SUE2Q1MsZ0JBQWdCO0UvRTB0VHhEO0UrRXR3VEU7SUE2Q1MsZ0JBQWdCO0UvRTR0VDNCO0UrRXp3VCtCO0lBNkNTLGdCQUFnQjtFL0UrdFR4RDtFK0Uzd1RFO0lBNkNTLGdCQUFnQjtFL0VpdVQzQjtFK0U5d1QrQjtJQTZDUyxnQkFBZ0I7RS9Fb3VUeEQ7RStFaHhURTtJQTZDUyxnQkFBZ0I7RS9Fc3VUM0I7RStFbnhUK0I7SUE2Q1MsZ0JBQWdCO0UvRXl1VHhEO0UrRXJ4VEU7SUE2Q1MsZ0JBQWdCO0UvRTJ1VDNCO0UrRXh4VCtCO0lBNkNTLGdCQUFnQjtFL0U4dVR4RDtBQUNGOztBK0UzdVRBO0VBM0RJO0lBNERRLGdCQUFnQjtFL0UrdVQxQjtFK0UzeVQ4QjtJQTREUyxnQkFBZ0I7RS9Fa3ZUdkQ7RStFN3lURTtJQTREUSxnQkFBZ0I7RS9Fb3ZUMUI7RStFaHpUOEI7SUE0RFMsZ0JBQWdCO0UvRXV2VHZEO0UrRWx6VEU7SUE0RFEsZ0JBQWdCO0UvRXl2VDFCO0UrRXJ6VDhCO0lBNERTLGdCQUFnQjtFL0U0dlR2RDtFK0V2elRFO0lBNERRLGdCQUFnQjtFL0U4dlQxQjtFK0UxelQ4QjtJQTREUyxnQkFBZ0I7RS9FaXdUdkQ7RStFNXpURTtJQTREUyxnQkFBZ0I7RS9FbXdUM0I7RStFL3pUK0I7SUE0RFMsZ0JBQWdCO0UvRXN3VHhEO0UrRWowVEU7SUE0RFMsZ0JBQWdCO0UvRXd3VDNCO0UrRXAwVCtCO0lBNERTLGdCQUFnQjtFL0Uyd1R4RDtFK0V0MFRFO0lBNERTLGdCQUFnQjtFL0U2d1QzQjtFK0V6MFQrQjtJQTREUyxnQkFBZ0I7RS9FZ3hUeEQ7RStFMzBURTtJQTREUyxnQkFBZ0I7RS9Fa3hUM0I7RStFOTBUK0I7SUE0RFMsZ0JBQWdCO0UvRXF4VHhEO0UrRWgxVEU7SUE0RFMsZ0JBQWdCO0UvRXV4VDNCO0UrRW4xVCtCO0lBNERTLGdCQUFnQjtFL0UweFR4RDtFK0VyMVRFO0lBNERTLGdCQUFnQjtFL0U0eFQzQjtFK0V4MVQrQjtJQTREUyxnQkFBZ0I7RS9FK3hUeEQ7RStFMTFURTtJQTREUyxnQkFBZ0I7RS9FaXlUM0I7RStFNzFUK0I7SUE0RFMsZ0JBQWdCO0UvRW95VHhEO0FBQ0Y7O0FnRjMzVEE7O1doRiszVFc7QUVsMVRYO0U4RXpDRSxzQkFBc0I7QWhGODNUeEI7O0FnRjMzVEE7RUFDSSxpQkFBK0I7RUFDL0IsNkdBQXFIO0VBQ3JILGtLQUEwSztFQUMxSyxnSEFBd0g7RUFDeEgsMkdBQW1IO0VBQ25ILDRHQUFvSDtFQUNwSCw4R0FBc0g7RUFDdEgsb0hBQW9IO0VBQ3BILGtDQUFrQztFQUNsQyx1Q0FBdUM7RUFDdkMsMENBQTBDO0FoRjgzVDlDOztBZ0YxM1RBO0VBQWUsY0FBNEI7QWhGODNUM0M7O0FnRjczVEE7RUFBa0IseUJBQXVDO0FoRmk0VHpEOztBZ0ZoNFRBO0VBQVksY0FBMEI7QWhGbzRUdEM7O0FnRm40VEE7RUFBZSx5QkFBcUM7QWhGdTRUcEQ7O0FnRnIzVEE7RUFBTyxjQWZ3QjtBaEZ3NFQvQjs7QWdGeDNUQTtFQUFVLG9DQUFxQztBaEY0M1QvQzs7QXlEbjZURTtFdUJ3Q1csb0NBQXFDO0FoRiszVGxEOztBZ0Y3M1RBO0VBQVMsY0FsQnVCO0FoRm01VGhDOztBZ0ZoNFRBO0VBQWMsY0FBeUI7QWhGbzRUdkM7O0FnRm40VEE7RUFBWSxvQ0FBdUM7QWhGdTRUbkQ7O0F5RG43VEU7RXVCNkNhLG9DQUF1QztBaEYwNFR0RDs7QWdGeDRUQTtFQUFNLGNBckJvQjtBaEZpNlQxQjs7QWdGMzRUQTtFQUFTLG9DQUFpQztBaEYrNFQxQzs7QWdGOTRUQTtFQUFpQixtREFBa0Q7QWhGazVUbkU7O0FnRmg1VEE7RUFBTyxjQXhCcUI7QWhGNDZUNUI7O0FnRm41VEE7RUFBVSxvQ0FBbUM7QWhGdTVUN0M7O0FnRnI1VEE7RUFBUyxjQTFCcUI7QWhGbTdUOUI7O0FnRng1VEE7RUFBWSxvQ0FBb0M7QWhGNDVUaEQ7O0FnRjM1VEE7RUFBaUIsb0NBQStDO0FoRis1VGhFOztBZ0Y3NVRBO0VBQU8sY0FqQ3NCO0FoRms4VDdCOztBZ0ZoNlRBO0VBQVUsb0NBQWtDO0FoRm82VDVDOztBeUQvOVRFO0V1QjREUSxvQ0FBa0M7QWhGdTZUNUM7O0FnRnI2VEE7RUFBVSxZQS9CZ0I7QWhGdzhUMUI7O0FnRng2VEE7RUFBYSxrQ0FBcUM7QWhGNDZUbEQ7O0FnRjE2VEE7RUFBVyxjQWpDb0I7QWhGKzhUL0I7O0FnRjc2VEE7RUFBYyxvQ0FBc0M7QWhGaTdUcEQ7O0FnRi82VEE7RUFBTyxjQW5DcUI7QWhGczlUNUI7O0FnRmw3VEE7RUFBVSxvQ0FBa0M7QWhGczdUNUM7O0FnRnA3VEE7RUFBUyxjQXJDc0I7QWhGNjlUL0I7O0FnRnY3VEE7RUFBWSxvQ0FBb0M7QWhGMjdUaEQ7O0FnRno3VEE7RUFBUyxjQXZDcUI7QWhGbytUOUI7O0FnRjU3VEE7RUFBWSxvQ0FBb0M7QWhGZzhUaEQ7O0FnRjk3VEE7RUFBUyxZQXpDc0I7QWhGMitUL0I7O0FnRmo4VEE7RUFBWSxrQ0FBb0M7QWhGcThUaEQ7O0FnRmw4VEE7RUFBUSxZQUF1QjtBaEZzOFQvQjs7QWdGcjhUQTtFQUFXLHVCQUFrQztBaEZ5OFQ3Qzs7QWdGdjhUQTtFQUFRLFlBdERzQjtBaEZpZ1U5Qjs7QTBEeGhVQTtFc0I4RVcsdUJBdkRtQjtBaEZxZ1U5Qjs7QWdGNThUQTtFQUFTLGNBQTJCO0FoRmc5VHBDOztBZ0YvOFRB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Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwid2VicGFjazovLy8uL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9fZGF0YV90YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9fdGFyZ2V0X3JhbmdlX3NsaWRlci5zY3NzIiwid2VicGFjazovLy8uL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vX3N0eWxlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCJAaW1wb3J0ICd+Ym9vdHN0cmFwJztcbkBpbXBvcnQgJ35ib290c3RyYXAtc2xpZGVyL2Rpc3QvY3NzL2Jvb3RzdHJhcC1zbGlkZXIubWluLmNzcyc7XG5AaW1wb3J0ICd+ZGF0YXRhYmxlcy5uZXQtYnM0L2Nzcy9kYXRhVGFibGVzLmJvb3RzdHJhcDQuY3NzJztcbkBpbXBvcnQgJ35AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9jc3MvYWxsLmNzcyc7XG5AaW1wb3J0ICd+Y29va2llY29uc2VudC9idWlsZC9jb29raWVjb25zZW50Lm1pbi5jc3MnO1xuQGltcG9ydCAnfmxpZ2h0c2xpZGVyL2Rpc3QvY3NzL2xpZ2h0c2xpZGVyLm1pbi5jc3MnO1xuQGltcG9ydCAnfmFuaW1hdGUuY3NzL2FuaW1hdGUuY3NzJztcbkBpbXBvcnQgJ35saWdodGJveDIvZGlzdC9jc3MvbGlnaHRib3guY3NzJztcbkBpbXBvcnQgJ35qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYWxsLmNzcyc7XG5AaW1wb3J0ICd+dmlkZW8uanMvZGlzdC92aWRlby1qcy5taW4uY3NzJztcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcImRhdGFfdGFibGVzXCI7XG5AaW1wb3J0IFwidGFyZ2V0X3JhbmdlX3NsaWRlclwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJzdHlsZXNcIjtcbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIC41ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAqIC41O1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gICAgbWF4LXdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgKiAuMDAxO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYud2lkdGgge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gLmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtY3Vyc29yO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfSBuby1yZXBlYXQ7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9tLXN3aXRjaC13aWR0aCAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcHJlc3MgdGhlIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCwgJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgKiAuNTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDsgLy8gRm9yIElFOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5Mzk2XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuXG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIudG9hc3Qge1xuICAvLyBQcmV2ZW50cyBmcm9tIHNocmlua2luZyBpbiBJRTExLCB3aGVuIGluIGEgZmxleCBjb250YWluZXJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgzNDFcbiAgZmxleC1iYXNpczogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhzdWJ0cmFjdCgkdG9hc3QtYm9yZGVyLXJhZGl1cywgJHRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogJHNwaW5uZXItdmVydGljYWwtYWxpZ247XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogJHNwaW5uZXItdmVydGljYWwtYWxpZ247XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cblxuQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoZGl2aWRlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15LCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiBcIiN7JHNpemV9XCIgIT0gXCIwXCIge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIERlcHJlY2F0ZWQsIGJ1dCBhdm9pZHMgaXNzdWVzIHdpdGggZmxleCBjb250YWluZXJzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBVc2VkIGluc3RlYWQgb2YgYG92ZXJmbG93LXdyYXBgIGZvciBJRSAmIEVkZ2UgTGVnYWN5XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvKioqKioqKioqXHJcbiAqIEZPTlRTICpcclxuICoqKioqKioqKi9cclxuYm9keXsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyB9XHJcblxyXG4ubGV0dGVyLXNwYWNpbmctMnsgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxyXG4ud3Mtbm9ybWFseyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XHJcbi5vcGFjaXR5aHVnZXsgb3BhY2l0eTogMC4yOyB9XHJcbi5vcGFjaXR5aGFsZnsgb3BhY2l0eTogMC41OyB9XHJcbi5vcGFjaXR5LTB7IG9wYWNpdHk6IDA7IH1cclxuXHJcbi5mb250LXdlaWdodC1leHRyYS1ib2xkeyBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7IH1cclxuLmZvbnQtd2VpZ2h0LXNlbWktYm9sZHsgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIGxlc3MgdGhhbiA1NzZweClcclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XHJcbiAgICAuZm9udDZ7IGZvbnQtc2l6ZTogMC42ZW07IH0gLmZvbnQxN3sgZm9udC1zaXplOiAxLjJlbTsgfVxyXG4gICAgLmZvbnQ3eyBmb250LXNpemU6IDAuNmVtOyB9IC5mb250MTh7IGZvbnQtc2l6ZTogMS4yZW07IH1cclxuICAgIC5mb250OHsgZm9udC1zaXplOiAwLjdlbTsgfSAuZm9udDE5eyBmb250LXNpemU6IDEuM2VtOyB9XHJcbiAgICAuZm9udDl7IGZvbnQtc2l6ZTogMC44ZW07IH0gLmZvbnQyMHsgZm9udC1zaXplOiAxLjRlbTsgfVxyXG4gICAgLmZvbnQxMHsgZm9udC1zaXplOiAwLjllbTsgfSAuZm9udDIyeyBmb250LXNpemU6IDEuNWVtOyB9XHJcbiAgICAuZm9udDExeyBmb250LXNpemU6IDEuMGVtOyB9IC5mb250MjR7IGZvbnQtc2l6ZTogMS43ZW07IH1cclxuICAgIC5mb250MTJ7IGZvbnQtc2l6ZTogMS4wZW07IH0gLmZvbnQyNnsgZm9udC1zaXplOiAxLjhlbTsgfVxyXG4gICAgLmZvbnQxM3sgZm9udC1zaXplOiAxLjBlbTsgfSAuZm9udDI4eyBmb250LXNpemU6IDEuOWVtOyB9XHJcbiAgICAuZm9udDE0eyBmb250LXNpemU6IDEuMGVtOyB9IC5mb250MzB7IGZvbnQtc2l6ZTogMi4wZW07IH1cclxuICAgIC5mb250MTV7IGZvbnQtc2l6ZTogMS4xZW07IH0gLmZvbnQzNXsgZm9udC1zaXplOiAyLjNlbTsgfVxyXG4gICAgLmZvbnQxNnsgZm9udC1zaXplOiAxLjFlbTsgfSAuZm9udDQweyBmb250LXNpemU6IDIuNmVtOyB9XHJcbn1cclxuXHJcbi8vIFNtYWxsIGRldmljZXMgKGxhbmRzY2FwZSBwaG9uZXMsIDU3NnB4IGFuZCB1cClcclxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHsgXHJcbiAgICAuZm9udDZ7IGZvbnQtc2l6ZTogMC42ZW07IH0gLmZvbnQxN3sgZm9udC1zaXplOiAxLjJlbTsgfVxyXG4gICAgLmZvbnQ3eyBmb250LXNpemU6IDAuN2VtOyB9IC5mb250MTh7IGZvbnQtc2l6ZTogMS4zZW07IH1cclxuICAgIC5mb250OHsgZm9udC1zaXplOiAwLjhlbTsgfSAuZm9udDE5eyBmb250LXNpemU6IDEuNGVtOyB9XHJcbiAgICAuZm9udDl7IGZvbnQtc2l6ZTogMC45ZW07IH0gLmZvbnQyMHsgZm9udC1zaXplOiAxLjRlbTsgfVxyXG4gICAgLmZvbnQxMHsgZm9udC1zaXplOiAwLjllbTsgfSAuZm9udDIyeyBmb250LXNpemU6IDEuNmVtOyB9XHJcbiAgICAuZm9udDExeyBmb250LXNpemU6IDEuMGVtOyB9IC5mb250MjR7IGZvbnQtc2l6ZTogMS43ZW07IH1cclxuICAgIC5mb250MTJ7IGZvbnQtc2l6ZTogMS4wZW07IH0gLmZvbnQyNnsgZm9udC1zaXplOiAxLjllbTsgfVxyXG4gICAgLmZvbnQxM3sgZm9udC1zaXplOiAxLjBlbTsgfSAuZm9udDI4eyBmb250LXNpemU6IDIuMWVtOyB9XHJcbiAgICAuZm9udDE0eyBmb250LXNpemU6IDEuMGVtOyB9IC5mb250MzB7IGZvbnQtc2l6ZTogMi4zZW07IH1cclxuICAgIC5mb250MTV7IGZvbnQtc2l6ZTogMS4xZW07IH0gLmZvbnQzNXsgZm9udC1zaXplOiAyLjZlbTsgfVxyXG4gICAgLmZvbnQxNnsgZm9udC1zaXplOiAxLjJlbTsgfSAuZm9udDQweyBmb250LXNpemU6IDMuMGVtOyB9XHJcbn1cclxuXHJcbi8vIE1lZGl1bSBkZXZpY2VzICh0YWJsZXRzLCA3NjhweCBhbmQgdXApXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XHJcbiAgICAuZm9udDZ7IGZvbnQtc2l6ZTogMC42ZW07IH0gLmZvbnQxN3sgZm9udC1zaXplOiAxLjRlbTsgfVxyXG4gICAgLmZvbnQ3eyBmb250LXNpemU6IDAuN2VtOyB9IC5mb250MTh7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuICAgIC5mb250OHsgZm9udC1zaXplOiAwLjhlbTsgfSAuZm9udDE5eyBmb250LXNpemU6IDEuNmVtOyB9XHJcbiAgICAuZm9udDl7IGZvbnQtc2l6ZTogMC45ZW07IH0gLmZvbnQyMHsgZm9udC1zaXplOiAxLjdlbTsgfVxyXG4gICAgLmZvbnQxMHsgZm9udC1zaXplOiAwLjllbTsgfSAuZm9udDIyeyBmb250LXNpemU6IDEuOGVtOyB9XHJcbiAgICAuZm9udDExeyBmb250LXNpemU6IDEuMGVtOyB9IC5mb250MjR7IGZvbnQtc2l6ZTogMi4wZW07IH1cclxuICAgIC5mb250MTJ7IGZvbnQtc2l6ZTogMS4wZW07IH0gLmZvbnQyNnsgZm9udC1zaXplOiAyLjJlbTsgfVxyXG4gICAgLmZvbnQxM3sgZm9udC1zaXplOiAxLjFlbTsgfSAuZm9udDI4eyBmb250LXNpemU6IDIuNGVtOyB9XHJcbiAgICAuZm9udDE0eyBmb250LXNpemU6IDEuMmVtOyB9IC5mb250MzB7IGZvbnQtc2l6ZTogMi42ZW07IH1cclxuICAgIC5mb250MTV7IGZvbnQtc2l6ZTogMS4zZW07IH0gLmZvbnQzNXsgZm9udC1zaXplOiAyLjllbTsgfVxyXG4gICAgLmZvbnQxNnsgZm9udC1zaXplOiAxLjRlbTsgfSAuZm9udDQweyBmb250LXNpemU6IDMuNGVtOyB9XHJcbn1cclxuXHJcbi8vIExhcmdlIGRldmljZXMgKGRlc2t0b3BzLCA5OTJweCBhbmQgdXApXHJcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xyXG4gICAgLmZvbnQ2eyBmb250LXNpemU6IDAuNmVtOyB9IC5mb250MTd7IGZvbnQtc2l6ZTogMS42ZW07IH1cclxuICAgIC5mb250N3sgZm9udC1zaXplOiAwLjdlbTsgfSAuZm9udDE4eyBmb250LXNpemU6IDEuN2VtOyB9XHJcbiAgICAuZm9udDh7IGZvbnQtc2l6ZTogMC44ZW07IH0gLmZvbnQxOXsgZm9udC1zaXplOiAxLjhlbTsgfVxyXG4gICAgLmZvbnQ5eyBmb250LXNpemU6IDAuOWVtOyB9IC5mb250MjB7IGZvbnQtc2l6ZTogMS45ZW07IH1cclxuICAgIC5mb250MTB7IGZvbnQtc2l6ZTogMS4wZW07IH0gLmZvbnQyMnsgZm9udC1zaXplOiAyLjBlbTsgfVxyXG4gICAgLmZvbnQxMXsgZm9udC1zaXplOiAxLjBlbTsgfSAuZm9udDI0eyBmb250LXNpemU6IDIuMmVtOyB9XHJcbiAgICAuZm9udDEyeyBmb250LXNpemU6IDEuMWVtOyB9IC5mb250MjZ7IGZvbnQtc2l6ZTogMi40ZW07IH1cclxuICAgIC5mb250MTN7IGZvbnQtc2l6ZTogMS4yZW07IH0gLmZvbnQyOHsgZm9udC1zaXplOiAyLjZlbTsgfVxyXG4gICAgLmZvbnQxNHsgZm9udC1zaXplOiAxLjNlbTsgfSAuZm9udDMweyBmb250LXNpemU6IDIuOGVtOyB9XHJcbiAgICAuZm9udDE1eyBmb250LXNpemU6IDEuNGVtOyB9IC5mb250MzV7IGZvbnQtc2l6ZTogMy4yZW07IH1cclxuICAgIC5mb250MTZ7IGZvbnQtc2l6ZTogMS41ZW07IH0gLmZvbnQ0MHsgZm9udC1zaXplOiAzLjdlbTsgfVxyXG59XHJcblxyXG4vLyBFeHRyYSBsYXJnZSBkZXZpY2VzIChsYXJnZSBkZXNrdG9wcywgMTIwMHB4IGFuZCB1cClcclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgLmZvbnQ2eyBmb250LXNpemU6IDAuNmVtOyB9IC5mb250MTd7IGZvbnQtc2l6ZTogMS43ZW07IH1cclxuICAgIC5mb250N3sgZm9udC1zaXplOiAwLjdlbTsgfSAuZm9udDE4eyBmb250LXNpemU6IDEuOGVtOyB9XHJcbiAgICAuZm9udDh7IGZvbnQtc2l6ZTogMC44ZW07IH0gLmZvbnQxOXsgZm9udC1zaXplOiAxLjllbTsgfVxyXG4gICAgLmZvbnQ5eyBmb250LXNpemU6IDAuOWVtOyB9IC5mb250MjB7IGZvbnQtc2l6ZTogMi4wZW07IH1cclxuICAgIC5mb250MTB7IGZvbnQtc2l6ZTogMS4wZW07IH0gLmZvbnQyMnsgZm9udC1zaXplOiAyLjJlbTsgfVxyXG4gICAgLmZvbnQxMXsgZm9udC1zaXplOiAxLjFlbTsgfSAuZm9udDI0eyBmb250LXNpemU6IDIuNGVtOyB9XHJcbiAgICAuZm9udDEyeyBmb250LXNpemU6IDEuMmVtOyB9IC5mb250MjZ7IGZvbnQtc2l6ZTogMi42ZW07IH1cclxuICAgIC5mb250MTN7IGZvbnQtc2l6ZTogMS4zZW07IH0gLmZvbnQyOHsgZm9udC1zaXplOiAyLjhlbTsgfVxyXG4gICAgLmZvbnQxNHsgZm9udC1zaXplOiAxLjRlbTsgfSAuZm9udDMweyBmb250LXNpemU6IDMuMGVtOyB9XHJcbiAgICAuZm9udDE1eyBmb250LXNpemU6IDEuNWVtOyB9IC5mb250MzV7IGZvbnQtc2l6ZTogMy41ZW07IH1cclxuICAgIC5mb250MTZ7IGZvbnQtc2l6ZTogMS42ZW07IH0gLmZvbnQ0MHsgZm9udC1zaXplOiA0LjBlbTsgfVxyXG59IiwiLyoqKioqKioqKipcclxuICogQ29sb3JzICpcclxuICoqKioqKioqKiovXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbn1cclxuXHJcbi5iZy13cmFwcGVye1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwxKTtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjk5KSAxNSUsIHJnYmEoMjAzLDIzMiwyMzIsMC45KSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45OSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjAzLDIzMiwyMzIsMC45KSkpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTkpIDE1JSwgcmdiYSgyMDMsMjMyLDIzMiwwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjk5KSAxNSUsIHJnYmEoMjAzLDIzMiwyMzIsMC45KSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTkpIDE1JSwgcmdiYSgyMDMsMjMyLDIzMiwwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjk5KSAxNSUsIHJnYmEoMjAzLDIzMiwyMzIsMC45KSAxMDAlKTtcclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNjYmU4ZTgnLCBHcmFkaWVudFR5cGU9MCApO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAyMDBweCAyMDBweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMHB4IDBweCAyMDBweCAyMDBweDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4IDBweCAyMDBweCAyMDBweDtcclxufVxyXG5cclxuLy8gUHJvdmlkZXJzIENvbG9yIENvZGVcclxuLndla2l3aS1jb2xvcnsgY29sb3I6IHJnYmEoMjU1LCAxODAsIDEwLCAxKTsgfVxyXG4ud2VraXdpLWJnLWNvbG9yeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTgwLCAxMCwgMSk7IH1cclxuLmVuaS1jb2xvcnsgY29sb3I6IHJnYmEoMjQsIDI0LCAyNCwgMSk7IH1cclxuLmVuaS1iZy1jb2xvcnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjQsIDI0LCAxKTsgfVxyXG5cclxuLy8gVWJlclN3aXRjaCBDaGFydCBDb2xvclxyXG4kcHJpbWFyeTogcmdiYSg1NCwgMjIxLCAxNjksIDEpO1xyXG4kc2Vjb25kYXJ5OiByZ2JhKDk3LCA3NywgMTQxLCAxKTsgXHJcbiRpbmZvOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDEpO1xyXG4kcmVkOiByZ2JhKDIzMiwgNzAsIDc4LCAxKTtcclxuJGJsdWU6IHJnYmEoMTYsIDEyMSwgMTkxLCAxKTtcclxuJHllbGxvdzogcmdiYSgyNTUsIDE5NSwgMzAsIDEpO1xyXG4kYmxhY2s6IHJnYmEoMCwgMCwgMCwgMSk7XHJcbiR3aGl0ZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuJGRpYW1vbmQ6IHJnYmEoMCwgMCwgMCwgMSk7XHJcbiRwbGF0aW51bTogcmdiYSgyMjAsIDEwLCAyOSwgMSk7XHJcbiRnb2xkOiByZ2JhKDI1MCwgMjA4LCAyNSwgMSk7XHJcbiRzaWx2ZXI6IHJnYmEoMTg0LCAxODgsIDE4NCwgMSk7XHJcbiRicm9uemU6IHJnYmEoMTgwLCAxMzIsIDgwLCAxKTtcclxuJG5vdmljZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuXHJcbi5jeWFueyBjb2xvcjogJHByaW1hcnk7IH1cclxuLmJnLWN5YW57IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7IH1cclxuLmJnLXByaW1hcnl7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5wdXJwbGV7IGNvbG9yOiAkc2Vjb25kYXJ5OyB9XHJcbi5saWdodHB1cnBsZXsgY29sb3I6IHJnYigxMzEsIDExOCwgMTYwKTsgfVxyXG4uYmctcHVycGxleyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7IH1cclxuLmJnLXNlY29uZGFyeXsgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50OyB9XHJcblxyXG4ucmVkeyBjb2xvcjogJHJlZDsgfVxyXG4uYmctcmVkeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7IH1cclxuLmJnLXJlZC1vcGFjaXR5eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMiwgNzAsIDc4LCAwLjcpIWltcG9ydGFudDsgIH1cclxuXHJcbi5ibHVleyBjb2xvcjogJGJsdWU7IH1cclxuLmJnLWJsdWV7IGJhY2tncm91bmQtY29sb3IgOiAkYmx1ZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ueWVsbG93eyBjb2xvcjogJHllbGxvdzsgfVxyXG4uYmcteWVsbG93eyBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93ICFpbXBvcnRhbnQ7IH1cclxuLmJnLWxpZ2h0eWVsbG93eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLCAyMzMsIDE4NykgIWltcG9ydGFudDsgfVxyXG5cclxuLmdyZXl7IGNvbG9yOiAkaW5mbzsgfVxyXG4uYmctZ3JleXsgYmFja2dyb3VuZC1jb2xvcjogJGluZm8gIWltcG9ydGFudDsgfVxyXG4uYmctaW5mb3sgYmFja2dyb3VuZC1jb2xvcjogJGluZm8gIWltcG9ydGFudDsgfVxyXG5cclxuLmRpYW1vbmR7IGNvbG9yOiAkZGlhbW9uZDsgfVxyXG4uYmctZGlhbW9uZHsgYmFja2dyb3VuZC1jb2xvcjogJGRpYW1vbmQgIWltcG9ydGFudDsgfVxyXG5cclxuLnBsYXRpbnVteyBjb2xvcjogJHBsYXRpbnVtOyB9XHJcbi5iZy1wbGF0aW51bXsgYmFja2dyb3VuZC1jb2xvcjogJHBsYXRpbnVtICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5nb2xkeyBjb2xvcjogJGdvbGQ7IH1cclxuLmJnLWdvbGR7IGJhY2tncm91bmQtY29sb3I6ICRnb2xkICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5zaWx2ZXJ7IGNvbG9yOiAkc2lsdmVyOyB9XHJcbi5iZy1zaWx2ZXJ7IGJhY2tncm91bmQtY29sb3I6ICRzaWx2ZXIgIWltcG9ydGFudDsgfVxyXG5cclxuLmJyb256ZXsgY29sb3I6ICRicm9uemU7IH1cclxuLmJnLWJyb256ZXsgYmFja2dyb3VuZC1jb2xvcjogJGJyb256ZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubm92aWNleyBjb2xvcjogJG5vdmljZTsgfVxyXG4uYmctbm92aWNleyBiYWNrZ3JvdW5kLWNvbG9yOiAkbm92aWNlICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIE90aGVycyBDb2xvclxyXG4uYmxhY2t7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEpOyB9XHJcbi5iZy1ibGFja3sgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxKTsgfVxyXG5cclxuLndoaXRleyBjb2xvcjogJHdoaXRlOyB9XHJcbi5iZy13aGl0ZXsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyB9XHJcblxyXG4ub3JhbmdleyBjb2xvcjogcmdiYSgyNTUsIDE1MywgMCwgMSk7IH1cclxuLmJnLW9yYW5nZXsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE1MywgMCwgMSk7IH1cclxuXHJcbi5ncmVlbnsgY29sb3I6IHJnYmEoMTMyLCAyMDAsIDYsIDEpOyB9XHJcbi5iZy1ncmVlbnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzIsIDIwMCwgNiwgMSk7IH1cclxuXHJcbi5kYXJrZ3JlZW57IGNvbG9yOiByZ2IoMCwgMTI5LCAxNyk7IH1cclxuLmJnLWRhcmtncmVlbnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjksIDE3LCAxKTsgfVxyXG5cclxuLnBpbmt7IGNvbG9yOiByZ2JhKDIxMSwgNzQsIDE0NSwgMSk7IH1cclxuLmJnLXBpbmt7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCA3NCwgMTQ1LCAxKTsgfVxyXG5cclxuLmRhcmtncmV5eyBjb2xvcjogcmdiYSg4MCwgODAsIDgwLCAxKTsgfVxyXG4uYmctZGFya2dyZXl7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMSk7IH1cclxuXHJcbi5iZy10cmFuc3BhcmVudHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgfVxyXG5cclxuaHIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSkgIWltcG9ydGFudDsgaGVpZ2h0OjFweDsgYm9yZGVyOjA7IH1cclxuaHIuaHItcHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjUpICFpbXBvcnRhbnQ7IGhlaWdodDoxcHg7IGJvcmRlcjowOyB9XHJcbmhyLmhyLXNlY29uZGFyeSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuNSkgIWltcG9ydGFudDsgaGVpZ2h0OjFweDsgYm9yZGVyOjA7IH1cclxuaHIuaHItd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgIWltcG9ydGFudDsgaGVpZ2h0OjFweDsgYm9yZGVyOjA7IH1cclxuXHJcbi8qKioqKioqKioqKlxyXG4gKiBCdXR0b25zICpcclxuICoqKioqKioqKioqL1xyXG4uYnRuLXByaW1hcnkgeyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5OyBib3JkZXItY29sb3I6ICRwcmltYXJ5OyBjb2xvcjogJHdoaXRlOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7IGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTsgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxufVxyXG4uYnRuLXNlY29uZGFyeSB7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTsgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5OyBjb2xvcjogJHdoaXRlOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5OyBib3JkZXItY29sb3I6ICRwcmltYXJ5OyBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbi5idG4taW5mbyB7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm87IGJvcmRlci1jb2xvcjogJGluZm87IGNvbG9yOiByZ2IoNDAsIDQwLCA0MCk7IHdoaXRlLXNwYWNlOiBub3JtYWw7IFxyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7IGJvcmRlci1jb2xvcjogJHByaW1hcnk7IGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuLmJ0bi1ibHVlIHsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgYm9yZGVyLWNvbG9yOiAkYmx1ZTsgY29sb3I6ICR3aGl0ZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTsgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTsgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxufVxyXG4uYnRuLXJlZCB7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDsgYm9yZGVyLWNvbG9yOiAkcmVkOyBjb2xvcjogJHdoaXRlOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5OyBib3JkZXItY29sb3I6ICRwcmltYXJ5OyBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbi5idG4teWVsbG93IHsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93OyBib3JkZXItY29sb3I6ICR5ZWxsb3c7IGNvbG9yOiByZ2IoODgsIDg4LCA4OCk7IHdoaXRlLXNwYWNlOiBub3JtYWw7IFxyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7IGJvcmRlci1jb2xvcjogJHByaW1hcnk7IGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuLmJ0bi1saWdodGVyIHsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMywgMjI4LCAyMjgsIDEpOyBib3JkZXItY29sb3I6IHJnYmEoMjIzLCAyMjgsIDIyOCwgMSk7IGNvbG9yOiAkc2Vjb25kYXJ5OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5OyBib3JkZXItY29sb3I6ICRwcmltYXJ5OyBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKipcclxuICogQWxlcnRzICpcclxuICoqKioqKioqKiovXHJcbi5hbGVydC1wcmltYXJ5eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC40KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC41KTsgfVxyXG4uYWxlcnQtc2Vjb25kYXJ5eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjQpOyBib3JkZXItY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuNSk7IH1cclxuLmFsZXJ0LWluZm97IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC40KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7IH1cclxuLmFsZXJ0LWJsdWV7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDEyMSwgMTkxLCAwLjQpOyBib3JkZXItY29sb3I6IHJnYmEoMTYsIDEyMSwgMTkxLCAwLjUpOyB9XHJcbi5hbGVydC1yZWR7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuNCk7IGJvcmRlci1jb2xvcjogcmdiYSgyMzIsIDcwLCA3OCwgMC41KTsgfVxyXG4uYWxlcnQteWVsbG93eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC40KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC41KTsgfVxyXG5cclxuLyoqKioqKioqKioqXHJcbiAqIEJvcmRlcnMgKlxyXG4gKioqKioqKioqKiovXHJcbi5ib3JkZXItcHJpbWFyeXsgYm9yZGVyOiAwLjVlbSBzb2xpZCAkcHJpbWFyeSAhaW1wb3J0YW50OyB9XHJcbi5ib3JkZXItc2Vjb25kYXJ5eyBib3JkZXI6IDAuNWVtIHNvbGlkICRzZWNvbmRhcnkgIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLWluZm97IGJvcmRlcjogMC41ZW0gc29saWQgJGluZm8gIWltcG9ydGFudDsgfVxyXG4uYm9yZGVyLXJlZHsgYm9yZGVyOiAwLjVlbSBzb2xpZCAkcmVkICFpbXBvcnRhbnQ7IH1cclxuLmJvcmRlci1ibHVleyBib3JkZXI6IDAuNWVtIHNvbGlkICRibHVlICFpbXBvcnRhbnQ7IH1cclxuLmJvcmRlci15ZWxsb3d7IGJvcmRlcjogMC41ZW0gc29saWQgJHllbGxvdyAhaW1wb3J0YW50OyB9XHJcbi5ib3JkZXItd2hpdGV7IGJvcmRlcjogMC41ZW0gc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7IH1cclxuLmJvcmRlci1ibGFja3sgYm9yZGVyOiAwLjVlbSBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDsgfVxyXG5cclxuLnNtYWxsLWJvcmRlci1ibGFja3sgYm9yZGVyOiAwLjJlbSBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDsgfVxyXG4uc21hbGwtYm9yZGVyLXdoaXRleyBib3JkZXI6IDAuMmVtIHNvbGlkICR3aGl0ZSAhaW1wb3J0YW50OyB9XHJcbi5zbWFsbC1ib3JkZXItcHJpbWFyeXsgYm9yZGVyOiAwLjJlbSBzb2xpZCAkcHJpbWFyeSAhaW1wb3J0YW50OyB9XHJcbi5zbWFsbC1ib3JkZXItc2Vjb25kYXJ5eyBib3JkZXI6IDAuMmVtIHNvbGlkICRzZWNvbmRhcnkgIWltcG9ydGFudDsgfVxyXG4uc21hbGwtYm9yZGVyLXllbGxvd3sgYm9yZGVyOiAwLjJlbSBzb2xpZCAkeWVsbG93ICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8qKioqKioqKioqXHJcbiAqIEJhZGdlcyAqXHJcbiAqKioqKioqKioqL1xyXG4uYmFkZ2UtcHJpbWFyeXsgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTsgY29sb3I6ICR3aGl0ZTsgfVxyXG4uYmFkZ2Utc2Vjb25kYXJ5eyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTsgY29sb3I6ICR3aGl0ZTsgfVxyXG4uYmFkZ2UtaW5mb3sgYmFja2dyb3VuZC1jb2xvcjogJGluZm8gIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiAkaW5mbzsgY29sb3I6ICR3aGl0ZTsgfVxyXG4uYmFkZ2UtcmVkeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogJHJlZDsgY29sb3I6ICR3aGl0ZTsgfVxyXG4uYmFkZ2UtYmx1ZXsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiAkYmx1ZTsgY29sb3I6ICR3aGl0ZTsgfVxyXG4uYmFkZ2UteWVsbG93eyBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93ICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogJHllbGxvdzsgY29sb3I6ICRibGFjazsgfVxyXG5cclxuLyoqKioqKioqKipcclxuICogTGV2ZWxzICpcclxuICoqKioqKioqKiovXHJcbi5sZXZlbC0xLWFsZXJ0LWNvbG9yeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLCA1MCwgNTAsIDAuNCk7IGJvcmRlci1jb2xvcjogcmdiYSg1MCwgNTAsIDUwLCAwLjUpOyB9XHJcbi5sZXZlbC0yLWFsZXJ0LWNvbG9yeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNCwgMTIsIDIyLCAwLjQpOyBib3JkZXItY29sb3I6IHJnYmEoMjE0LCAxMiwgMjIsIDAuNSk7IH1cclxuLmxldmVsLTMtYWxlcnQtY29sb3J7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxOTUsIDMwLCAwLjQpOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAxOTUsIDMwLCAwLjUpOyB9XHJcbi5sZXZlbC00LWFsZXJ0LWNvbG9yeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7IGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjUpOyB9XHJcbi5sZXZlbC01LWFsZXJ0LWNvbG9yeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwOSwgMTQ4LCA4OSwgMC40KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDIwOSwgMTQ4LCA4OSwgMC41KTsgfVxyXG4ubGV2ZWwtNi1hbGVydC1jb2xvcnsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjQpOyBib3JkZXItY29sb3I6IHJnYmEoMTgwLCAxODAsIDE4MCwgMC41KTsgfVxyXG5cclxuLyoqKioqKioqKlxyXG4gKiBMaW5rcyAqXHJcbiAqKioqKioqKiovXHJcbi8vIEJBU0VcclxuYS5saW5rLXByaW1hcnl7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTkFWXHJcbmEubmF2LWRhc2hib2FyZC1saW5re1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC41KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbmEuZHJvcGRvd24taXRlbXtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5FVFdPUktcclxuYSA+IGRpdi5saW5rLXB1bHNle1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzZSAxczsgIGFuaW1hdGlvbjogcHVsc2UgMXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERBU0hCT0FSRFxyXG5hOmhvdmVyID4gLmRhc2hib2FyZC1jYXNle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAsIDIzMCwgMjMwLCAxKSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XHJcblx0dHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgJi5kaXNhYmxlZCB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuY3VycmVudC1wcm9maWxlIHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuY3VycmVudC1wcm9maWxlLXN3aXRjaGV1ciB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuY3VycmVudC1wcm9maWxlLWFncmVlbWVudCB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLmN1cnJlbnQtcHJvZmlsZS1jcmVkZW50aWFscyB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3cgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuY3VycmVudC1wcm9maWxlLXJldHJhY3RlZCB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuYWRtaW4tY2FzZSB7IFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTAsIDE1MCwgMTUwKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5kYXNoYm9hcmQtY2FzZXtcclxuICAgICYuY3VycmVudC1wcm9maWxlLXVzZXIgeyBcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5jdXJyZW50LXByb2ZpbGUtc3dpdGNoZXVyIHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5jdXJyZW50LXByb2ZpbGUtYWdyZWVtZW50IHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuY3VycmVudC1wcm9maWxlLWNyZWRlbnRpYWxzIHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5jdXJyZW50LXByb2ZpbGUtcmV0cmFjdGVkIHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUQUJTXHJcbmEudGFicy1saW5re1xyXG4gICAgJiNwcm9maWxlLXRhYntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgYm9yZGVyOiAwLjVweCBzb2xpZCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmI3N3aXRjaGV1ci10YWJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjQpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjQpO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmI2luZm9zLXRhYiwgJiNiYXNlLXRhYntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgYm9yZGVyOiAwLjVweCBzb2xpZCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAxKTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuICAgICYjZG9jcy10YWJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjQpO1xyXG4gICAgICAgIGJvcmRlcjogMC41cHggc29saWQgcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjQpO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJiNhZ3JlZW1lbnQtdGFie1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC40KTtcclxuICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHJnYmEoMjAwLCAyMDAsIDIwMCwgMC40KTtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJiNwYXltZW50LXRhYntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgYm9yZGVyOiAwLjVweCBzb2xpZCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNCk7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLy8gRk9STUFUSU9OIC0gU09VU0NSSVBUSU9OU1xyXG5hOmhvdmVyID4gLnByb3ZpZGVyLWNhc2V7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjUpICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyoqKioqKioqKioqXHJcbiAqIEJvcmRlcnMgKlxyXG4gKioqKioqKioqKiovXHJcbi5ib3JkZXItbGlnaHR7XHJcbiAgYm9yZGVyOiAzcHggc29saWQgI0ZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKioqKioqKioqKipcclxuICogVG9vbHRpcCAqXHJcbiAqKioqKioqKioqKi9cclxuLnRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgeyBjb2xvcjogJHdoaXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjkpOyBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5OyB9XHJcbi50b29sdGlwIC50b29sdGlwLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkc2Vjb25kYXJ5OyB9XHJcbi50b29sdGlwIC50b29sdGlwLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJHNlY29uZGFyeTsgfVxyXG4udG9vbHRpcCAudG9vbHRpcC5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHNlY29uZGFyeTsgfVxyXG4udG9vbHRpcCAudG9vbHRpcC5icy10b29sdGlwLWxlZnQgLmFycm93OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkc2Vjb25kYXJ5OyB9XHJcbiIsIlxyXG4vLyBEYXRhIFRhYmxlcyAtIEJhc2VcclxuI3RhYmxlc0Jhc2V7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMSk7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7fVxyXG4jdGFibGVzQmFzZSB0aGVhZCBpbnB1dHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzQmFzZSB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDEpOyB9XHJcbiN0YWJsZXNCYXNlIHRib2R5IHRyLmV2ZW46aG92ZXIsICN0YWJsZXNCYXNlIHRib2R5IHRyLmV2ZW4gdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0Jhc2UgdGJvZHkgdHIub2RkOmhvdmVyLCAjdGFibGVzQmFzZSB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0Jhc2UgdHIuZXZlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmFzZSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmFzZSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmFzZSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmFzZSB0ci5vZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0Jhc2UgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmFzZSB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNCYXNlIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuXHJcbi8vIERhdGEgVGFibGVzIC0gUHJpbWFyeVxyXG4jdGFibGVzUHJpbWFyeXsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDEpOyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiN0YWJsZXNQcmltYXJ5IHRoZWFkIGlucHV0eyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiN0YWJsZXNQcmltYXJ5IHRoZWFkeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMSk7IGNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAxKTsgfVxyXG4jdGFibGVzUHJpbWFyeSB0Ym9keSB0ci5ldmVuOmhvdmVyLCAjdGFibGVzUHJpbWFyeSB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1ByaW1hcnkgdGJvZHkgdHIub2RkOmhvdmVyLCAjdGFibGVzUHJpbWFyeSB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzUHJpbWFyeSB0ci5ldmVuOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1ByaW1hcnkgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzUHJpbWFyeSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNQcmltYXJ5IHRyLmV2ZW46aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1ByaW1hcnkgdHIub2RkOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1ByaW1hcnkgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNQcmltYXJ5IHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzUHJpbWFyeSB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuXHJcbi8vIERhdGEgVGFibGVzIC0gU2Vjb25kYXJ5XHJcbiN0YWJsZXNTZWNvbmRhcnl7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDEpOyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiN0YWJsZXNTZWNvbmRhcnkgdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMSk7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XHJcbiN0YWJsZXNTZWNvbmRhcnkgdGJvZHkgdHIuZXZlbjpob3ZlciwgI3RhYmxlc1NlY29uZGFyeSB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzU2Vjb25kYXJ5IHRib2R5IHRyLm9kZDpob3ZlciwgI3RhYmxlc1NlY29uZGFyeSB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNTZWNvbmRhcnkgdHIuZXZlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0ci5vZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNTZWNvbmRhcnkgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1NlY29uZGFyeSB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzU2Vjb25kYXJ5IHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcblxyXG4vLyBEYXRhIFRhYmxlcyAtIEluZm9cclxuI3RhYmxlc0luZm97IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMSk7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc0luZm8gdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc0luZm8gdGhlYWR7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMSk7IGNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAxKTsgfVxyXG4jdGFibGVzSW5mbyB0Ym9keSB0ci5ldmVuOmhvdmVyLCAjdGFibGVzSW5mbyB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNJbmZvIHRib2R5IHRyLm9kZDpob3ZlciwgI3RhYmxlc0luZm8gdGJvZHkgdHIub2RkIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNJbmZvIHRyLmV2ZW46aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0luZm8gdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0luZm8gdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0luZm8gdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0luZm8gdHIub2RkOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNJbmZvIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0luZm8gdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW5mbyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcblxyXG4vLyBEYXRhIFRhYmxlcyAtIEJsdWVcclxuI3RhYmxlc0JsdWV7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDEyMSwgMTkxLCAwLjEpOyBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAxKTsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzQmx1ZSB0aGVhZCBpbnB1dHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzQmx1ZSB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDEpOyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxyXG4jdGFibGVzQmx1ZSB0Ym9keSB0ci5ldmVuOmhvdmVyLCAjdGFibGVzQmx1ZSB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDAuMSk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0JsdWUgdGJvZHkgdHIub2RkOmhvdmVyLCAjdGFibGVzQmx1ZSB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCAxMjEsIDE5MSwgMC4xKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmx1ZSB0ci5ldmVuOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDAuMSk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0JsdWUgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCAxMjEsIDE5MSwgMC4xKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmx1ZSB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDEyMSwgMTkxLCAwLjEpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNCbHVlIHRyLmV2ZW46aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDAuMSk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0JsdWUgdHIub2RkOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDAuMSk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0JsdWUgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDEyMSwgMTkxLCAwLjEpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNCbHVlIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCAxMjEsIDE5MSwgMC4xKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQmx1ZSB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTIxLCAxOTEsIDAuMSk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuXHJcbi8vIERhdGEgVGFibGVzIC0gUmVkXHJcbiN0YWJsZXNSZWR7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDEpOyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiN0YWJsZXNSZWQgdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc1JlZCB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzIsIDcwLCA3OCwgMSk7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XHJcbiN0YWJsZXNSZWQgdGJvZHkgdHIuZXZlbjpob3ZlciwgI3RhYmxlc1JlZCB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzIsIDcwLCA3OCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzUmVkIHRib2R5IHRyLm9kZDpob3ZlciwgI3RhYmxlc1JlZCB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMiwgNzAsIDc4LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNSZWQgdHIuZXZlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1JlZCB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1JlZCB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1JlZCB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1JlZCB0ci5vZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMiwgNzAsIDc4LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNSZWQgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA3MCwgNzgsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1JlZCB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzIsIDcwLCA3OCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzUmVkIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMiwgNzAsIDc4LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcblxyXG4vLyBEYXRhIFRhYmxlcyAtIFllbGxvd1xyXG4jdGFibGVzWWVsbG93eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMSk7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc1llbGxvdyB0aGVhZCBpbnB1dHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzWWVsbG93IHRoZWFkeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMSk7IGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNZZWxsb3cgdGJvZHkgdHIuZXZlbjpob3ZlciwgI3RhYmxlc1llbGxvdyB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5NSwgMzAsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1llbGxvdyB0Ym9keSB0ci5vZGQ6aG92ZXIsICN0YWJsZXNZZWxsb3cgdGJvZHkgdHIub2RkIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5NSwgMzAsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1llbGxvdyB0ci5ldmVuOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5NSwgMzAsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1llbGxvdyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxOTUsIDMwLCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNZZWxsb3cgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzWWVsbG93IHRyLmV2ZW46aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5NSwgMzAsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1llbGxvdyB0ci5vZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzWWVsbG93IHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzWWVsbG93IHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzWWVsbG93IHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTk1LCAzMCwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG5cclxuLy8gRGF0YSBUYWJsZXMgLSBVc2Vyc1xyXG4jdGFibGVzVXNlcnN7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAxKTsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzVXNlcnMgdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc1VzZXJzIHRoZWFkeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMSk7IGNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdGJvZHkgdHIuZXZlbjpob3ZlciwgI3RhYmxlc1VzZXJzIHRib2R5IHRyLmV2ZW4gdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdGJvZHkgdHIub2RkOmhvdmVyLCAjdGFibGVzVXNlcnMgdGJvZHkgdHIub2RkIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1VzZXJzIHRyLmV2ZW46aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdHIub2RkOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc1VzZXJzIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzVXNlcnMgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNVc2VycyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuXHJcbi8vIERhdGEgVGFibGVzIC0gTmV3c1xyXG4jdGFibGVzTmV3c3sgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMSk7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc05ld3MgdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc05ld3MgdGhlYWR7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDEpOyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0Ym9keSB0ci5ldmVuOmhvdmVyLCAjdGFibGVzTmV3cyB0Ym9keSB0ci5ldmVuIHRkLmhpZ2hsaWdodGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0Ym9keSB0ci5vZGQ6aG92ZXIsICN0YWJsZXNOZXdzIHRib2R5IHRyLm9kZCB0ZC5oaWdobGlnaHRlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc05ld3MgdHIuZXZlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc05ld3MgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNOZXdzIHRyLmV2ZW46aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc05ld3MgdHIub2RkOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18xIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzTmV3cyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG5cclxuLy8gRGF0YSBUYWJsZXMgLSBDdXN0b21lcnNcclxuI3RhYmxlc0N1c3RvbWVyc3sgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDEpOyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiN0YWJsZXNDdXN0b21lcnMgdGhlYWQgaW5wdXR7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuI3RhYmxlc0N1c3RvbWVycyB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDEpOyBjb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMSk7IH1cclxuI3RhYmxlc0N1c3RvbWVycyB0Ym9keSB0ci5ldmVuOmhvdmVyLCAjdGFibGVzQ3VzdG9tZXJzIHRib2R5IHRyLmV2ZW4gdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQ3VzdG9tZXJzIHRib2R5IHRyLm9kZDpob3ZlciwgI3RhYmxlc0N1c3RvbWVycyB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQ3VzdG9tZXJzIHRyLmV2ZW46aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQ3VzdG9tZXJzIHRyLmV2ZW46aG92ZXIgdGQuc29ydGluZ18xIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDAuMik7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0N1c3RvbWVycyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNDdXN0b21lcnMgdHIuZXZlbjpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCAyMjEsIDE2OSwgMC4yKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzQ3VzdG9tZXJzIHRyLm9kZDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNDdXN0b21lcnMgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNDdXN0b21lcnMgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNDdXN0b21lcnMgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAwLjIpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcblxyXG4vLyBEYXRhIFRhYmxlcyAtIEltcG9ydFxyXG4jdGFibGVzSW1wb3J0c3sgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAxKTsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzSW1wb3J0cyB0aGVhZCBpbnB1dHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG4jdGFibGVzSW1wb3J0cyB0aGVhZHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAxKTsgY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDEpOyB9XHJcbiN0YWJsZXNJbXBvcnRzIHRib2R5IHRyLmV2ZW46aG92ZXIsICN0YWJsZXNJbXBvcnRzIHRib2R5IHRyLmV2ZW4gdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0ltcG9ydHMgdGJvZHkgdHIub2RkOmhvdmVyLCAjdGFibGVzSW1wb3J0cyB0Ym9keSB0ci5vZGQgdGQuaGlnaGxpZ2h0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0ltcG9ydHMgdHIuZXZlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW1wb3J0cyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW1wb3J0cyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW1wb3J0cyB0ci5ldmVuOmhvdmVyIHRkLnNvcnRpbmdfMyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW1wb3J0cyB0ci5vZGQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH1cclxuI3RhYmxlc0ltcG9ydHMgdHIub2RkOmhvdmVyIHRkLnNvcnRpbmdfMSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4zKTsgY29sb3I6cmdiYSg0MCwgNDAsIDQwLCAxKTsgfVxyXG4jdGFibGVzSW1wb3J0cyB0ci5vZGQ6aG92ZXIgdGQuc29ydGluZ18yIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpOyBjb2xvcjpyZ2JhKDQwLCA0MCwgNDAsIDEpOyB9XHJcbiN0YWJsZXNJbXBvcnRzIHRyLm9kZDpob3ZlciB0ZC5zb3J0aW5nXzMgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMyk7IGNvbG9yOnJnYmEoNDAsIDQwLCA0MCwgMSk7IH0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBUYXJnZXQgUmFuZ2UgU2xpZGVyIEZvcm0gKlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuIC8vIFNpemUgQmFyXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wMSwgXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wMiwgXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wMywgXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNCwgXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA2LCBcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA3LCBcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTk5LCBcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDEsIFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wMiwgXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTAzLCBcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDQsIFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wNSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDYsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTA3LFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wOCxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItOTksXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLWRheXdvcmtpbmcsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXJldHJhY3RyYXRlXHJcbntcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBDb2xvciBUcmFjayBCYXJcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTAxIC5zbGlkZXItdHJhY2ssXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wMiAuc2xpZGVyLXRyYWNrLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDMgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA0IC5zbGlkZXItdHJhY2ssXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNSAuc2xpZGVyLXRyYWNrLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDYgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA3IC5zbGlkZXItdHJhY2ssXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC05OSAuc2xpZGVyLXRyYWNrXHJcbntcclxuICAgIGJhY2tncm91bmQ6ICRpbmZvICFpbXBvcnRhbnQ7XHJcbn1cclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDEgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDIgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDMgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDQgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDUgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDYgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDcgLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDggLnNsaWRlci10cmFjayxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItOTkgLnNsaWRlci10cmFja1xyXG57XHJcblx0YmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBDb2xvciBQb2ludGVyXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wMSAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTAyIC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDMgLnNsaWRlci1oYW5kbGUsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNCAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA1IC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDYgLnNsaWRlci1oYW5kbGUsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNyAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTk5IC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wMSAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDIgLnNsaWRlci1oYW5kbGUsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTAzIC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wNCAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDUgLnNsaWRlci1oYW5kbGUsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTA2IC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wNyAuc2xpZGVyLWhhbmRsZSxcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDggLnNsaWRlci1oYW5kbGUsXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTk5IC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1kYXl3b3JraW5nIC5zbGlkZXItaGFuZGxlLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1yZXRyYWN0cmF0ZSAuc2xpZGVyLWhhbmRsZVxyXG57XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBDb2xvciBTZWxlY3RlZCBCYXJcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTAxIC5zbGlkZXItc2VsZWN0aW9uLCBcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTAyIC5zbGlkZXItc2VsZWN0aW9uLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDMgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNCAuc2xpZGVyLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTA1IC5zbGlkZXItc2VsZWN0aW9uLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1zd2l0Y2gtMDYgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXN3aXRjaC0wNyAuc2xpZGVyLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItc3dpdGNoLTk5IC5zbGlkZXItc2VsZWN0aW9uLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wMSAuc2xpZGVyLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDIgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTAzIC5zbGlkZXItc2VsZWN0aW9uLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wNCAuc2xpZGVyLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDUgLnNsaWRlci1zZWxlY3Rpb24sXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTA2IC5zbGlkZXItc2VsZWN0aW9uLFxyXG4jdGFyZ2V0LXJhbmdlLXNsaWRlci1vdGhlci0wNyAuc2xpZGVyLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItb3RoZXItMDggLnNsaWRlci1zZWxlY3Rpb24sXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLW90aGVyLTk5IC5zbGlkZXItc2VsZWN0aW9uXHJcbntcclxuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBTcGVjaWFsIEhpZ2h0bGlnaHQgQmFyXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLWRheXdvcmtpbmcgLnNsaWRlci10aWNrLmluLXNlbGVjdGlvbixcclxuI3RhcmdldC1yYW5nZS1zbGlkZXItcmV0cmFjdHJhdGUgLnNsaWRlci10aWNrLmluLXNlbGVjdGlvblxyXG57XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLWRheXdvcmtpbmcgLnNsaWRlci1yYW5nZUhpZ2hsaWdodC5kYXlXb3JraW5nTG93e1xyXG4gICAgYmFja2dyb3VuZDogJHJlZCAhaW1wb3J0YW50O1xyXG59XHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLWRheXdvcmtpbmcgLnNsaWRlci1yYW5nZUhpZ2hsaWdodC5kYXlXb3JraW5nTWlke1xyXG4gICAgYmFja2dyb3VuZDogJHllbGxvdyAhaW1wb3J0YW50O1xyXG59XHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLWRheXdvcmtpbmcgLnNsaWRlci1yYW5nZUhpZ2hsaWdodC5kYXlXb3JraW5nSGlnaHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMTMyLCAyMDAsIDYsIDEpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXJldHJhY3RyYXRlIC5zbGlkZXItcmFuZ2VIaWdobGlnaHQucmV0cmFjdFJhdGVMb3d7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzMiwgMjAwLCA2LCAxKSAhaW1wb3J0YW50O1xyXG59XHJcbiN0YXJnZXQtcmFuZ2Utc2xpZGVyLXJldHJhY3RyYXRlIC5zbGlkZXItcmFuZ2VIaWdobGlnaHQucmV0cmFjdFJhdGVNaWR7XHJcbiAgICBiYWNrZ3JvdW5kOiAkeWVsbG93ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3RhcmdldC1yYW5nZS1zbGlkZXItcmV0cmFjdHJhdGUgLnNsaWRlci1yYW5nZUhpZ2hsaWdodC5yZXRyYWN0UmF0ZUhpZ2h7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcmVkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBUYXJnZXQgVGFibGUgUmVzdWx0ICpcclxuICoqKioqKioqKioqKioqKioqKioqKioqL1xyXG4udGFibGUudGFibGUtdGFyZ2V0IHRkLCAudGFibGUudGFibGUtdGFyZ2V0IHRoe1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG59IiwiLnBhZ2luYXRpb24gPiBsaSA+IGFcclxue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBjb2xvcjogcmdiYSg5NywgNzcsIDE0MSwgMSk7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmZvY3VzLFxyXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpob3ZlcixcclxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMsXHJcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmhvdmVyXHJcbntcclxuICAgIGNvbG9yOiByZ2JhKDk3LCA3NywgMTQxLCAxKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTQsIDIyMSwgMTY5LCAxKTtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NCwgMjIxLCAxNjksIDEpO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhXHJcbntcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDk3LCA3NywgMTQxLCAxKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmhvdmVyXHJcbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDc3LCAxNDEsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDk3LCA3NywgMTQxLCAxKTtcclxufSIsIi8vIFN0eWxlcyBDU1NcclxuaHRtbCB7XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG4uY2hlY2tib3gtMXgge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbn1cclxuLnJhZGl1czEwe1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG4ucmFkaXVzMjB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcbmE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZle1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbio6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG4uY3VzdG9tLWZpbGUtbGFiZWx7XHJcbiAgICAmOjphZnRlcntcclxuICAgICAgICBjb250ZW50OiBcIkltcG9ydGVyXCIgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKipcclxuKiBCYXNlICpcclxuKioqKioqKiovXHJcbi50aXRsZS1pY29ueyBcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuLnRpbnktaWNvbnsgXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMHB4O1xyXG59XHJcbi5jaGFyc3tcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgJi5jaGFycy10aW55e1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDI1cHg7XHJcbiAgICB9XHJcbiAgICAmLmNoYXJzLXZlcnlzbWFsbHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgJi5jaGFycy1zbWFsbHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xyXG4gICAgfVxyXG4gICAgJi5jaGFycy1taWR7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKlxyXG4qIFZpZGVvICpcclxuKioqKioqKioqL1xyXG4udmlkZW8tanN7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDM0MHB4O1xyXG5cclxuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLnZqcy1iaWctcGxheS1idXR0b257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyoqKioqKioqXHJcbiogQWRtaW4gKlxyXG4qKioqKioqKiovXHJcbi5pbWctc3dpdGNoZXVyLXBob3RvLW1pbml7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuLmltZy1zd2l0Y2hldXItcGhvdG8tZGVmYXVsdC1taW5pe1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG4uaW1nLXN3aXRjaGV1ci1waG90by1taWR7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuLmltZy1zd2l0Y2hldXItcGhvdG97XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuLmltZy1sb2dvLWFkbWlue1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbn1cclxuLmltZy1sb2dvLWFkbWluLXNtYWxse1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogNzBweDtcclxufVxyXG4uaW1nLWxvZ28tYWRtaW4tdGlueXtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbn1cclxuLmltZy1sb2dvLWFkbWluLWRhc2hib2FyZHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDMycHg7XHJcbn1cclxuXHJcbi8qKioqKioqKipcclxuKiBIZWFkZXIgKlxyXG4qKioqKioqKioqL1xyXG4ubG9nby1oZWFkZXJ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IFxyXG4gICAgbWF4LWhlaWdodDogNjVweDtcclxufVxyXG4uaWNvbi1oZWFkZXJ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IFxyXG4gICAgbWF4LWhlaWdodDogNzBweDtcclxufVxyXG5cclxuLyoqKioqKioqKlxyXG4qIEZvb3RlciAqXHJcbioqKioqKioqKiovXHJcbi5sb2dvLWZvb3RlcntcclxuICAgIG1heC13aWR0aDogMTAwJTsgXHJcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG59XHJcbi5pY29uLWZvb3RlcntcclxuICAgIG1heC13aWR0aDogMTAwJTsgXHJcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqXHJcbiogRGFzaEJvYXJkICpcclxuKioqKioqKioqKioqKi9cclxuLmRhc2hib2FyZC1jYXJke1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbn1cclxuLmRhc2hib2FyZC1pY29ue1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgICYuZGFzaGJvYXJkLWhlbHB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuICAgIH1cclxufVxyXG4uZGFzaGJvYXJkLWNhc2V7XHJcbiAgICAmLmRpc2FibGVkIHsgXHJcbiAgICAgICAgb3BhY2l0eSA6IDAuNDsgXHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAmLmN1cnJlbnQtcHJvZmlsZSB7IFxyXG4gICAgICAgICAgICBvcGFjaXR5IDogMTsgXHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqXHJcbiogTmF2ICpcclxuKioqKioqKi9cclxuLm5hdi1pY29ue1xyXG4gICAgbWF4LXdpZHRoOiAxOHB4O1xyXG4gICAgbWF4LWhlaWdodDogMThweDtcclxufVxyXG4uZHJvcGRvd24tbWVudSB7XHJcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXZiYXItdG9nZ2xlcntcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgJi5uYXZiYXItdG9nZ2xlciAubmF2YmFyLXRvZ2dsZXItaWNvbntcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMyIDMyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoOTcsIDc3LCAxNDEsIDAuOSknIHN0cm9rZS13aWR0aD0nMycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDhoMjRNNCAxNmgyNE00IDI0aDI0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbiogUmVnaXN0ZXIgU3dpdGNoZXVyICpcclxuKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnN0ZXAtaW1nLXN3aXRjaGV1ci1yZWdpc3RlcntcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qIEZvcm1hdGlvbnMgLyBTb3VzY3JpcHRpb25zICpcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc2VsbGluZy10eXBlLWltZ3tcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xyXG59XHJcbi5wcm92aWRlci1jYXNle1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICAmLmRpc2FibGVke1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG59XHJcbi5wcm92aWRlci1pbWd7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxNDBweDtcclxufVxyXG4uZm9ybWF0aW9uLWFuc3dlci1saXN0e1xyXG4gICAgJiBsYWJlbHtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyBcclxuICAgIH1cclxuICAgICYgaW5wdXR7XHJcbiAgICAgICAgd2lkdGg6IDEuMWVtOyBcclxuICAgICAgICBoZWlnaHQ6IDEuMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqXHJcbiogU3dpdGNoY29pbiAqXHJcbioqKioqKioqKioqKiovXHJcbi5zd2l0Y2hjb2luLWxvZ297XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxufVxyXG5cclxuLyoqKioqKioqKioqKlxyXG4qIEhpZXJhcmNoeSAqXHJcbioqKioqKioqKioqKiovXHJcbiNoaWVyYXJjaHlMaXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgLm5lc3RlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmV0e1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmV0LWRvd257XHJcbiAgICAgICAgJiBzcGFuLmljb24tY2FyZXQtaGllcmFyY2h5e1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKlxyXG4qIFNob3AgKlxyXG4qKioqKioqKi9cclxuLnByb2R1Y3QtY2FyZHtcclxuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcbi5wcm9kdWN0LWltZ3tcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgJi5zbWFsbHtcclxuICAgICAgICBtaW4td2lkdGg6IDcwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgIH1cclxufVxyXG4uc2hvcC1uYXYtYWN0aXZle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbn1cclxuI3Nob3BOYXYgLm5hdmJhci10b2dnbGVye1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgJi5uYXZiYXItdG9nZ2xlciAubmF2YmFyLXRvZ2dsZXItaWNvbntcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMyIDMyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMTAwLCA3NywgMTQxLCAwLjkpJyBzdHJva2Utd2lkdGg9JzMnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA4aDI0TTQgMTZoMjRNNCAyNGgyNCcvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKlxyXG4qIEltcG9ydCAqXHJcbioqKioqKioqKiovXHJcbi5pbXBvcnQtcGhhc2UtaW1ne1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbn1cclxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/