/* Settings */
/* [START CAUTION] Relevant for frontend customization str_replace */
/* [END CAUTION] */
@font-face {
  font-family: 'Montserrat-Regular';
  src: url(/portal-engine/build/wanzl_portal/fonts/Montserrat-Regular.a49596b1.woff2) format("woff2"), url(/portal-engine/build/wanzl_portal/fonts/Montserrat-Regular.7df7c2e6.woff) format("woff");
  font-weight: normal;
  font-display: swap; }

@font-face {
  font-family: 'Montserrat-Bold';
  src: url(/portal-engine/build/wanzl_portal/fonts/Montserrat-Bold.f9bfab0e.woff2) format("woff2"), url(/portal-engine/build/wanzl_portal/fonts/Montserrat-Bold.9c2cfe63.woff) format("woff");
  font-weight: normal;
  font-display: swap; }

/* 3rd Party */
/*!
 * 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: #989898;
  --gray-dark: #343a40;
  --primary: #0099CC;
  --secondary: #999999;
  --success: #83D865;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #ffffff;
  --dark: rgba(40, 40, 40, 0.998);
  --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: "Montserrat-Regular", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #181818;
  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: 400; }

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: inherit;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: inherit;
    text-decoration: inherit; }

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.45rem 0.2rem;
  padding-bottom: 0.45rem 0.2rem;
  color: #989898;
  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-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  line-height: 1.2; }

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

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

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

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

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

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

.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: #989898; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

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

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

.figure {
  display: inline-block; }

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

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

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: #181818;
  border-radius: 0.375rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 400; }

pre {
  display: block;
  font-size: 87.5%;
  color: #181818; }
  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: 12px;
  padding-left: 12px;
  margin-right: auto;
  margin-left: auto; }

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

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

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

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

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

.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: 12px;
  padding-left: 12px; }

.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: #181818; }
  .table th,
  .table td {
    padding: 0.45rem 0.2rem;
    vertical-align: top;
    border-top: 1px solid #e7e5ec; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #e7e5ec; }
  .table tbody + tbody {
    border-top: 2px solid #e7e5ec; }

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

.table-bordered {
  border: 1px solid #e7e5ec; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #e7e5ec; }
  .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: #181818;
  background-color: #e7e5ec; }

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

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

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

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

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

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

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

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

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

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

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

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

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: rgba(195, 195, 195, 0.99944); }

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: rgba(143, 143, 143, 0.99896); }

.table-hover .table-dark:hover {
  background-color: rgba(182, 182, 182, 0.99944); }
  .table-hover .table-dark:hover > td,
  .table-hover .table-dark:hover > th {
    background-color: rgba(182, 182, 182, 0.99944); }

.table-active,
.table-active > th,
.table-active > td {
  background-color: #e7e5ec; }

.table-hover .table-active:hover {
  background-color: #d9d6e1; }
  .table-hover .table-active:hover > td,
  .table-hover .table-active:hover > th {
    background-color: #d9d6e1; }

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55; }

.table .thead-light th {
  color: #4E4E4E;
  background-color: #e7e5ec;
  border-color: #e7e5ec; }

.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.28em + 2rem + 2px);
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.28;
  color: #4E4E4E;
  background-color: white;
  background-clip: padding-box;
  border: 1px solid #4E4E4E;
  border-radius: 0.375rem;
  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: #4E4E4E;
    background-color: white;
    border-color: #4dd2ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
  .form-control::placeholder {
    color: #989898;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e7e5ec;
    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 #4E4E4E; }

select.form-control:focus::-ms-value {
  color: #4E4E4E;
  background-color: white; }

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

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

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

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

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 1rem 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.28;
  color: #181818;
  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 + 1rem + 2px);
  padding: 0.5rem 0.75rem;
  font-size: 0.7875rem;
  line-height: 1.5;
  border-radius: 0.375rem; }

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

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

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

.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.7875rem;
  line-height: 1.5;
  color: #181818;
  background-color: rgba(131, 216, 101, 0.9);
  border-radius: 0.375rem; }
  .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: #83D865;
  padding-right: calc(1.28em + 2rem) !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='%2383D865' 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.32em + 0.5rem) center;
  background-size: calc(0.64em + 1rem) calc(0.64em + 1rem); }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #83D865;
    box-shadow: 0 0 0 0.2rem rgba(131, 216, 101, 0.25); }

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

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.28em + 2rem);
  background-position: top calc(0.32em + 0.5rem) right calc(0.32em + 0.5rem); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #83D865;
  padding-right: calc(0.75em + 3.75rem) !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 1.25rem center/8px 10px no-repeat, white 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='%2383D865' 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 2.25rem/calc(0.64em + 1rem) calc(0.64em + 1rem) no-repeat; }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #83D865;
    box-shadow: 0 0 0 0.2rem rgba(131, 216, 101, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #83D865; }

.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: #83D865; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #83D865; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #a4e28e;
  background-color: #a4e28e; }

.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(131, 216, 101, 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: #83D865; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #83D865; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #83D865;
  box-shadow: 0 0 0 0.2rem rgba(131, 216, 101, 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.7875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.375rem; }
  .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.28em + 2rem) !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.32em + 0.5rem) center;
  background-size: calc(0.64em + 1rem) calc(0.64em + 1rem); }
  .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: 5rem !important;
  background-position: right 2.5rem center; }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.28em + 2rem);
  background-position: top calc(0.32em + 0.5rem) right calc(0.32em + 0.5rem); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 3.75rem) !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 1.25rem center/8px 10px no-repeat, white 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 2.25rem/calc(0.64em + 1rem) calc(0.64em + 1rem) 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-family: "Montserrat-Regular", sans-serif;
  font-weight: 400;
  color: #181818;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.5rem 1.25rem;
  font-size: 0.7875rem;
  line-height: 1.5;
  border-radius: 0.375rem;
  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: #181818;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 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: #0099CC;
  border-color: #0099CC; }
  .btn-primary:hover {
    color: #fff;
    background-color: #007ca6;
    border-color: #007399; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #007ca6;
    border-color: #007399;
    box-shadow: 0 0 0 0.2rem rgba(38, 168, 212, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #0099CC;
    border-color: #0099CC; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #007399;
    border-color: #00698c; }
    .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, 168, 212, 0.5); }

.btn-secondary {
  color: #181818;
  background-color: #999999;
  border-color: #999999; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #868686;
    border-color: gray; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #868686;
    border-color: gray;
    box-shadow: 0 0 0 0.2rem rgba(134, 134, 134, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #181818;
    background-color: #999999;
    border-color: #999999; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: gray;
    border-color: #797979; }
    .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(134, 134, 134, 0.5); }

.btn-success {
  color: #181818;
  background-color: #83D865;
  border-color: #83D865; }
  .btn-success:hover {
    color: #181818;
    background-color: #6ad046;
    border-color: #62ce3c; }
  .btn-success:focus, .btn-success.focus {
    color: #181818;
    background-color: #6ad046;
    border-color: #62ce3c;
    box-shadow: 0 0 0 0.2rem rgba(115, 187, 89, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #181818;
    background-color: #83D865;
    border-color: #83D865; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #181818;
    background-color: #62ce3c;
    border-color: #5bca33; }
    .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(115, 187, 89, 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: #181818;
  background-color: #ffc107;
  border-color: #ffc107; }
  .btn-warning:hover {
    color: #181818;
    background-color: #e0a800;
    border-color: #d39e00; }
  .btn-warning:focus, .btn-warning.focus {
    color: #181818;
    background-color: #e0a800;
    border-color: #d39e00;
    box-shadow: 0 0 0 0.2rem rgba(220, 168, 10, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #181818;
    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: #181818;
    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(220, 168, 10, 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: #181818;
  background-color: #ffffff;
  border-color: #ffffff; }
  .btn-light:hover {
    color: #181818;
    background-color: #ececec;
    border-color: #e6e6e6; }
  .btn-light:focus, .btn-light.focus {
    color: #181818;
    background-color: #ececec;
    border-color: #e6e6e6;
    box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #181818;
    background-color: #ffffff;
    border-color: #ffffff; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #181818;
    background-color: #e6e6e6;
    border-color: #dfdfdf; }
    .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(220, 220, 220, 0.5); }

.btn-dark {
  color: #fff;
  background-color: rgba(40, 40, 40, 0.998);
  border-color: rgba(40, 40, 40, 0.998); }
  .btn-dark:hover {
    color: #fff;
    background-color: rgba(21, 21, 21, 0.998);
    border-color: rgba(15, 15, 15, 0.998); }
  .btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: rgba(21, 21, 21, 0.998);
    border-color: rgba(15, 15, 15, 0.998);
    box-shadow: 0 0 0 0.2rem rgba(72, 72, 72, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: rgba(40, 40, 40, 0.998);
    border-color: rgba(40, 40, 40, 0.998); }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: rgba(15, 15, 15, 0.998);
    border-color: rgba(8, 8, 8, 0.998); }
    .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(72, 72, 72, 0.5); }

.btn-outline-primary {
  color: #0099CC;
  border-color: #0099CC; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #0099CC;
    border-color: #0099CC; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #0099CC;
    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: #0099CC;
    border-color: #0099CC; }
    .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, 153, 204, 0.5); }

.btn-outline-secondary {
  color: #999999;
  border-color: #999999; }
  .btn-outline-secondary:hover {
    color: #181818;
    background-color: #999999;
    border-color: #999999; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(153, 153, 153, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #999999;
    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: #181818;
    background-color: #999999;
    border-color: #999999; }
    .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(153, 153, 153, 0.5); }

.btn-outline-success {
  color: #83D865;
  border-color: #83D865; }
  .btn-outline-success:hover {
    color: #181818;
    background-color: #83D865;
    border-color: #83D865; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(131, 216, 101, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #83D865;
    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: #181818;
    background-color: #83D865;
    border-color: #83D865; }
    .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(131, 216, 101, 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: #181818;
    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: #181818;
    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: #ffffff;
  border-color: #ffffff; }
  .btn-outline-light:hover {
    color: #181818;
    background-color: #ffffff;
    border-color: #ffffff; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #ffffff;
    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: #181818;
    background-color: #ffffff;
    border-color: #ffffff; }
    .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(255, 255, 255, 0.5); }

.btn-outline-dark {
  color: rgba(40, 40, 40, 0.998);
  border-color: rgba(40, 40, 40, 0.998); }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: rgba(40, 40, 40, 0.998);
    border-color: rgba(40, 40, 40, 0.998); }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 40, 40, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: rgba(40, 40, 40, 0.998);
    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: rgba(40, 40, 40, 0.998);
    border-color: rgba(40, 40, 40, 0.998); }
    .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(40, 40, 40, 0.5); }

.btn-link {
  font-weight: 400;
  color: inherit;
  text-decoration: none; }
  .btn-link:hover {
    color: inherit;
    text-decoration: inherit; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: inherit; }
  .btn-link:disabled, .btn-link.disabled {
    color: #989898;
    pointer-events: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 0.8125rem 2.1875rem;
  font-size: 0.7875rem;
  line-height: 1.5;
  border-radius: 1.5625rem; }

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 1rem;
  font-size: 0.7875rem;
  line-height: 1.5;
  border-radius: 0.375rem; }

.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: #181818;
  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.375rem; }

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 0.9375rem;
  clear: both;
  font-weight: 400;
  color: #282828;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #2B0080;
    text-decoration: none;
    background-color: #e7e5ec; }
  .dropdown-item.active, .dropdown-item:active {
    color: #2B0080;
    text-decoration: none;
    background-color: transparent; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #BCBCBC;
    pointer-events: none;
    background-color: transparent; }

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

.dropdown-header {
  display: block;
  padding: 0.5rem 0.9375rem;
  margin-bottom: 0;
  font-size: 0.7875rem;
  color: #989898;
  white-space: nowrap; }

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

.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.9375rem;
  padding-left: 0.9375rem; }
  .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.75rem;
  padding-left: 0.75rem; }

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

.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: 1rem 1.25rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.28;
  color: #4E4E4E;
  text-align: center;
  white-space: nowrap;
  background-color: #e7e5ec;
  border: 1px solid #4E4E4E;
  border-radius: 0.375rem; }
  .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: 0.7875rem;
  line-height: 1.5;
  border-radius: 1.5625rem; }

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 1rem + 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.5rem 0.75rem;
  font-size: 0.7875rem;
  line-height: 1.5;
  border-radius: 0.375rem; }

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

.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: #0099CC;
    background-color: #0099CC; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #4dd2ff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #80dfff;
    border-color: #80dfff; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #989898; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e7e5ec; }

.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: white;
    border: 1px solid #BCBCBC; }
  .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.375rem; }

.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: #0099CC;
  background-color: #0099CC; }

.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, 153, 204, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 153, 204, 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, 153, 204, 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: #BCBCBC;
    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: white;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 153, 204, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.28em + 2rem + 2px);
  padding: 1rem 2.25rem 1rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.28;
  color: #4E4E4E;
  vertical-align: middle;
  background: white 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 1.25rem center/8px 10px no-repeat;
  border: 1px solid #4E4E4E;
  border-radius: 0.375rem;
  appearance: none; }
  .custom-select:focus {
    border-color: #4dd2ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
    .custom-select:focus::-ms-value {
      color: #4E4E4E;
      background-color: white; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 1.25rem;
    background-image: none; }
  .custom-select:disabled {
    color: #989898;
    background-color: #e7e5ec; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #4E4E4E; }

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

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

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.28em + 2rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #4dd2ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e7e5ec; }
  .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.28em + 2rem + 2px);
  padding: 1rem 1.25rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.28;
  color: #4E4E4E;
  background-color: white;
  border: 1px solid #4E4E4E;
  border-radius: 0.375rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.28em + 2rem);
    padding: 1rem 1.25rem;
    line-height: 1.28;
    color: #4E4E4E;
    content: "Browse";
    background-color: #e7e5ec;
    border-left: inherit;
    border-radius: 0 0.375rem 0.375rem 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, 153, 204, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #0099CC;
    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: #80dfff; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #F5F4F7;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #0099CC;
    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: #80dfff; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #F5F4F7;
    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: #0099CC;
    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: #80dfff; }
  .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: #F5F4F7;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #F5F4F7;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #BCBCBC; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #BCBCBC; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #BCBCBC; }

.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.75rem 1.25rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #BCBCBC;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 0 solid #F5F4F7; }
  .nav-tabs .nav-link {
    margin-bottom: 0;
    background-color: transparent;
    border: 0 solid transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      isolation: isolate;
      border-color: #e7e5ec #e7e5ec #F5F4F7; }
    .nav-tabs .nav-link.disabled {
      color: #BCBCBC;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: color-yiq(#e7e5ec);
    background-color: #e7e5ec;
    border-color: #F5F4F7 #F5F4F7 #e7e5ec; }
  .nav-tabs .dropdown-menu {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 1.5625rem; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: color-yiq(#282828);
  background-color: #282828; }

.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.5625rem;
  padding-bottom: 0.5625rem;
  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.75rem;
  padding-bottom: 0.75rem; }

.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.375rem; }
  .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: 0.0625rem solid #e7e5ec;
  border-radius: 0.375rem; }
  .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: 0.3125rem;
      border-top-right-radius: 0.3125rem; }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: 0.3125rem;
      border-bottom-left-radius: 0.3125rem; }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

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

.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: 0.75rem; }

.card-header {
  padding: 0.75rem 0.75rem;
  margin-bottom: 0;
  color: color-yiq(#e7e5ec);
  background-color: #e7e5ec;
  border-bottom: 0.0625rem solid #e7e5ec; }
  .card-header:first-child {
    border-radius: 0.3125rem 0.3125rem 0 0; }

.card-footer {
  padding: 0.75rem 0.75rem;
  color: color-yiq(#e7e5ec);
  background-color: #e7e5ec;
  border-top: 0.0625rem solid #e7e5ec; }
  .card-footer:last-child {
    border-radius: 0 0 0.3125rem 0.3125rem; }

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

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

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: 0.3125rem; }

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

.card-img,
.card-img-top {
  border-top-left-radius: 0.3125rem;
  border-top-right-radius: 0.3125rem; }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem; }

.card-deck .card {
  margin-bottom: 12px; }

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

.card-group > .card {
  margin-bottom: 12px; }

@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: -0.0625rem; }

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0;
  margin-bottom: 1.875rem;
  list-style: none;
  background-color: none;
  border-radius: 0.375rem; }

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    color: #BCBCBC;
    content: "|"; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none; }

.breadcrumb-item.active {
  color: #4E4E4E; }

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

.page-link {
  position: relative;
  display: block;
  padding: 0.125rem 0.125rem;
  margin-left: 0;
  line-height: 1;
  color: #fff;
  background-color: #282828;
  border: 0 solid #F5F4F7; }
  .page-link:hover {
    z-index: 2;
    color: #fff;
    text-decoration: none;
    background-color: #282828;
    border-color: #F5F4F7; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem; }

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

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

.page-item.disabled .page-link {
  color: #989898;
  pointer-events: none;
  cursor: auto;
  background-color: #F5F4F7;
  border-color: #F5F4F7; }

.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: 1.5625rem;
  border-bottom-left-radius: 1.5625rem; }

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

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

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

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

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.375rem;
  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: #0099CC; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: #007399; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 204, 0.5); }

.badge-secondary {
  color: #181818;
  background-color: #999999; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #181818;
    background-color: gray; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(153, 153, 153, 0.5); }

.badge-success {
  color: #181818;
  background-color: #83D865; }
  a.badge-success:hover, a.badge-success:focus {
    color: #181818;
    background-color: #62ce3c; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(131, 216, 101, 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: #181818;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #181818;
    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: #181818;
  background-color: #ffffff; }
  a.badge-light:hover, a.badge-light:focus {
    color: #181818;
    background-color: #e6e6e6; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }

.badge-dark {
  color: #fff;
  background-color: rgba(40, 40, 40, 0.998); }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: rgba(15, 15, 15, 0.998); }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(40, 40, 40, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e7e5ec;
  border-radius: 1.5625rem; }
  @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.375rem; }

.alert-heading {
  color: inherit; }

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

.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: #00506a;
  background-color: #ccebf5;
  border-color: #b8e2f1; }
  .alert-primary hr {
    border-top-color: #a3d9ed; }
  .alert-primary .alert-link {
    color: #002a37; }

.alert-secondary {
  color: #505050;
  background-color: #ebebeb;
  border-color: #e2e2e2; }
  .alert-secondary hr {
    border-top-color: #d5d5d5; }
  .alert-secondary .alert-link {
    color: #373737; }

.alert-success {
  color: #447035;
  background-color: #e6f7e0;
  border-color: #dcf4d4; }
  .alert-success hr {
    border-top-color: #cbefc0; }
  .alert-success .alert-link {
    color: #2f4d25; }

.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: #858585;
  background-color: white;
  border-color: white; }
  .alert-light hr {
    border-top-color: #f2f2f2; }
  .alert-light .alert-link {
    color: #6c6c6c; }

.alert-dark {
  color: rgba(21, 21, 21, 0.99896);
  background-color: rgba(212, 212, 212, 0.9996);
  border-color: rgba(195, 195, 195, 0.99944); }
  .alert-dark hr {
    border-top-color: rgba(182, 182, 182, 0.99944); }
  .alert-dark .alert-link {
    color: rgba(0, 0, 0, 0.99896); }

@keyframes progress-bar-stripes {
  from {
    background-position: 0.25rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: flex;
  height: 0.25rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e7e5ec;
  border-radius: 0.375rem; }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #0099CC;
  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: 0.25rem 0.25rem; }

.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.375rem; }

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

.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: #989898;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #0099CC;
    border-color: #0099CC; }
  .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.375rem;
    border-top-right-radius: 0; }
  .list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 0.375rem;
    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.375rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-sm > .list-group-item:last-child {
      border-top-right-radius: 0.375rem;
      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.375rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-md > .list-group-item:last-child {
      border-top-right-radius: 0.375rem;
      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.375rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-lg > .list-group-item:last-child {
      border-top-right-radius: 0.375rem;
      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.375rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-xl > .list-group-item:last-child {
      border-top-right-radius: 0.375rem;
      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: #00506a;
  background-color: #b8e2f1; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #00506a;
    background-color: #a3d9ed; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #00506a;
    border-color: #00506a; }

.list-group-item-secondary {
  color: #505050;
  background-color: #e2e2e2; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #505050;
    background-color: #d5d5d5; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #505050;
    border-color: #505050; }

.list-group-item-success {
  color: #447035;
  background-color: #dcf4d4; }
  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #447035;
    background-color: #cbefc0; }
  .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #447035;
    border-color: #447035; }

.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: #858585;
  background-color: white; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #858585;
    background-color: #f2f2f2; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #858585;
    border-color: #858585; }

.list-group-item-dark {
  color: rgba(21, 21, 21, 0.99896);
  background-color: rgba(195, 195, 195, 0.99944); }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: rgba(21, 21, 21, 0.99896);
    background-color: rgba(182, 182, 182, 0.99944); }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: rgba(21, 21, 21, 0.99896);
    border-color: rgba(21, 21, 21, 0.99896); }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 400;
  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: #989898;
  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: 0 solid rgba(0, 0, 0, 0.2);
  border-radius: 0.375rem;
  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: 0 solid #F5F4F7;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem; }
  .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: 0.625rem; }

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.375rem;
  border-top: 0 solid #F5F4F7;
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem; }
  .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: 44.375rem;
    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: 30rem; } }

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

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Montserrat-Regular", sans-serif;
  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.7875rem;
  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.375rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Montserrat-Regular", sans-serif;
  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.7875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.2);
  border-radius: 0.375rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.375rem; }
    .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: -0.5rem; }
    .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: 0;
      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: -0.5rem;
    width: 0.5rem;
    height: 1rem;
    margin: 0.375rem 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: 0;
      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: -0.5rem; }
    .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: 0;
      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: 0 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: -0.5rem;
    width: 0.5rem;
    height: 1rem;
    margin: 0.375rem 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: 0;
      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: 0 solid #ebebeb;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem; }
  .popover-header:empty {
    display: none; }

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

.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: #0099CC !important; }

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

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

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

.bg-success {
  background-color: #83D865 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #62ce3c !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: #ffffff !important; }

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

.bg-dark {
  background-color: rgba(40, 40, 40, 0.998) !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: rgba(15, 15, 15, 0.998) !important; }

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

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

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

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

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

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

.border-left {
  border-left: 1px solid #F5F4F7 !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: #0099CC !important; }

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

.border-success {
  border-color: #83D865 !important; }

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

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

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

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

.border-dark {
  border-color: rgba(40, 40, 40, 0.998) !important; }

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

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

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

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

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

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

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

.rounded-lg {
  border-radius: 1.5625rem !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%; }

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

.embed-responsive-2by1::before {
  padding-top: 50%; }

.embed-responsive-18by19::before {
  padding-top: 105.55556%; }

.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.3125rem 1.25rem 0 rgba(0, 0, 0, 0.3) !important; }

.shadow-lg {
  box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1) !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: 400 !important; }

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

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

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

.text-primary {
  color: #0099CC !important; }

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

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

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

.text-success {
  color: #83D865 !important; }

a.text-success:hover, a.text-success:focus {
  color: #56c031 !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: #ffffff !important; }

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

.text-dark {
  color: rgba(40, 40, 40, 0.998) !important; }

a.text-dark:hover, a.text-dark:focus {
  color: rgba(2, 2, 2, 0.998) !important; }

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

.text-muted {
  color: #989898 !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 #BCBCBC;
    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 #F5F4F7 !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #e7e5ec; }
  .table .thead-dark th {
    color: inherit;
    border-color: #e7e5ec; } }

.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  margin-left: -8px;
  position: absolute; }
  .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,
  .react-datepicker__month-read-view--down-arrow,
  .react-datepicker__month-year-read-view--down-arrow, .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,
  .react-datepicker__month-read-view--down-arrow::before,
  .react-datepicker__month-year-read-view--down-arrow::before {
    box-sizing: content-box;
    position: absolute;
    border: 8px solid transparent;
    height: 0;
    width: 1px; }
  .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,
  .react-datepicker__month-read-view--down-arrow::before,
  .react-datepicker__month-year-read-view--down-arrow::before {
    content: "";
    z-index: -1;
    border-width: 8px;
    left: -8px;
    border-bottom-color: #aeaeae; }

.react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle {
  top: 0;
  margin-top: -8px; }
  .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle, .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before {
    border-top: none;
    border-bottom-color: #f0f0f0; }
  .react-datepicker-popper[data-placement^="bottom"] .react-datepicker__triangle::before {
    top: -1px;
    border-bottom-color: #aeaeae; }

.react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  bottom: 0;
  margin-bottom: -8px; }
  .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle, .react-datepicker__year-read-view--down-arrow,
  .react-datepicker__month-read-view--down-arrow,
  .react-datepicker__month-year-read-view--down-arrow, .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,
  .react-datepicker__month-read-view--down-arrow::before,
  .react-datepicker__month-year-read-view--down-arrow::before {
    border-bottom: none;
    border-top-color: #fff; }
  .react-datepicker-popper[data-placement^="top"] .react-datepicker__triangle::before, .react-datepicker__year-read-view--down-arrow::before,
  .react-datepicker__month-read-view--down-arrow::before,
  .react-datepicker__month-year-read-view--down-arrow::before {
    bottom: -1px;
    border-top-color: #aeaeae; }

.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0; }

.react-datepicker {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative; }

.react-datepicker--time-only .react-datepicker__triangle {
  left: 35px; }

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0; }

.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem; }

.react-datepicker__triangle {
  position: absolute;
  left: 50px; }

.react-datepicker-popper {
  z-index: 1; }
  .react-datepicker-popper[data-placement^="bottom"] {
    margin-top: 10px; }
  .react-datepicker-popper[data-placement="bottom-end"] .react-datepicker__triangle, .react-datepicker-popper[data-placement="top-end"] .react-datepicker__triangle {
    left: auto;
    right: 50px; }
  .react-datepicker-popper[data-placement^="top"] {
    margin-bottom: 10px; }
  .react-datepicker-popper[data-placement^="right"] {
    margin-left: 8px; }
    .react-datepicker-popper[data-placement^="right"] .react-datepicker__triangle {
      left: auto;
      right: 42px; }
  .react-datepicker-popper[data-placement^="left"] {
    margin-right: 8px; }
    .react-datepicker-popper[data-placement^="left"] .react-datepicker__triangle {
      left: 42px;
      right: auto; }

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding-top: 8px;
  position: relative; }
  .react-datepicker__header--time {
    padding-bottom: 8px;
    padding-left: 5px;
    padding-right: 5px; }
    .react-datepicker__header--time:not(.react-datepicker__header--time--only) {
      border-top-left-radius: 0; }
  .react-datepicker__header:not(.react-datepicker__header--has-time-select) {
    border-top-right-radius: 0.3rem; }

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 2px; }

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem; }

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.react-datepicker__navigation {
  background: none;
  line-height: 1.7rem;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 10px;
  width: 0;
  padding: 0;
  border: 0.45rem solid transparent;
  z-index: 1;
  height: 10px;
  width: 10px;
  text-indent: -999em;
  overflow: hidden; }
  .react-datepicker__navigation--previous {
    left: 10px;
    border-right-color: #ccc; }
    .react-datepicker__navigation--previous:hover {
      border-right-color: #b3b3b3; }
    .react-datepicker__navigation--previous--disabled, .react-datepicker__navigation--previous--disabled:hover {
      border-right-color: #e6e6e6;
      cursor: default; }
  .react-datepicker__navigation--next {
    right: 10px;
    border-left-color: #ccc; }
    .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
      right: 95px; }
    .react-datepicker__navigation--next:hover {
      border-left-color: #b3b3b3; }
    .react-datepicker__navigation--next--disabled, .react-datepicker__navigation--next--disabled:hover {
      border-left-color: #e6e6e6;
      cursor: default; }
  .react-datepicker__navigation--years {
    position: relative;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto; }
    .react-datepicker__navigation--years-previous {
      top: 4px;
      border-top-color: #ccc; }
      .react-datepicker__navigation--years-previous:hover {
        border-top-color: #b3b3b3; }
    .react-datepicker__navigation--years-upcoming {
      top: -4px;
      border-bottom-color: #ccc; }
      .react-datepicker__navigation--years-upcoming:hover {
        border-bottom-color: #b3b3b3; }

.react-datepicker__month-container {
  float: left; }

.react-datepicker__year {
  margin: 0.4rem;
  text-align: center; }
  .react-datepicker__year-wrapper {
    display: flex;
    flex-wrap: wrap;
    max-width: 180px; }
  .react-datepicker__year .react-datepicker__year-text {
    display: inline-block;
    width: 4rem;
    margin: 2px; }

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center; }
  .react-datepicker__month .react-datepicker__month-text,
  .react-datepicker__month .react-datepicker__quarter-text {
    display: inline-block;
    width: 4rem;
    margin: 2px; }

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left; }
  .react-datepicker__input-time-container .react-datepicker-time__caption {
    display: inline-block; }
  .react-datepicker__input-time-container .react-datepicker-time__input-container {
    display: inline-block; }
    .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
      display: inline-block;
      margin-left: 10px; }
      .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
        width: auto; }
      .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"]::-webkit-inner-spin-button,
      .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0; }
      .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type="time"] {
        -moz-appearance: textfield; }
    .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
      margin-left: 5px;
      display: inline-block; }

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px; }
  .react-datepicker__time-container--with-today-button {
    display: inline;
    border: 1px solid #aeaeae;
    border-radius: 0.3rem;
    position: absolute;
    right: -72px;
    top: 0; }
  .react-datepicker__time-container .react-datepicker__time {
    position: relative;
    background: white;
    border-bottom-right-radius: 0.3rem; }
    .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
      width: 85px;
      overflow-x: hidden;
      margin: 0 auto;
      text-align: center;
      border-bottom-right-radius: 0.3rem; }
      .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
        list-style: none;
        margin: 0;
        height: calc(195px + (1.7rem / 2));
        overflow-y: scroll;
        padding-right: 0px;
        padding-left: 0px;
        width: 100%;
        box-sizing: content-box; }
        .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
          height: 30px;
          padding: 5px 10px;
          white-space: nowrap; }
          .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
            cursor: pointer;
            background-color: #f0f0f0; }
          .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
            background-color: #216ba5;
            color: white;
            font-weight: bold; }
            .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
              background-color: #216ba5; }
          .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
            color: #ccc; }
            .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
              cursor: default;
              background-color: transparent; }

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem; }
  .react-datepicker__week-number.react-datepicker__week-number--clickable {
    cursor: pointer; }
    .react-datepicker__week-number.react-datepicker__week-number--clickable:hover {
      border-radius: 0.3rem;
      background-color: #f0f0f0; }

.react-datepicker__day-names,
.react-datepicker__week {
  white-space: nowrap; }

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem; }

.react-datepicker__month--selected, .react-datepicker__month--in-selecting-range, .react-datepicker__month--in-range,
.react-datepicker__quarter--selected,
.react-datepicker__quarter--in-selecting-range,
.react-datepicker__quarter--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff; }
  .react-datepicker__month--selected:hover, .react-datepicker__month--in-selecting-range:hover, .react-datepicker__month--in-range:hover,
  .react-datepicker__quarter--selected:hover,
  .react-datepicker__quarter--in-selecting-range:hover,
  .react-datepicker__quarter--in-range:hover {
    background-color: #1d5d90; }

.react-datepicker__month--disabled,
.react-datepicker__quarter--disabled {
  color: #ccc;
  pointer-events: none; }
  .react-datepicker__month--disabled:hover,
  .react-datepicker__quarter--disabled:hover {
    cursor: default;
    background-color: transparent; }

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer; }
  .react-datepicker__day:hover,
  .react-datepicker__month-text:hover,
  .react-datepicker__quarter-text:hover,
  .react-datepicker__year-text:hover {
    border-radius: 0.3rem;
    background-color: #f0f0f0; }
  .react-datepicker__day--today,
  .react-datepicker__month-text--today,
  .react-datepicker__quarter-text--today,
  .react-datepicker__year-text--today {
    font-weight: bold; }
  .react-datepicker__day--highlighted,
  .react-datepicker__month-text--highlighted,
  .react-datepicker__quarter-text--highlighted,
  .react-datepicker__year-text--highlighted {
    border-radius: 0.3rem;
    background-color: #3dcc4a;
    color: #fff; }
    .react-datepicker__day--highlighted:hover,
    .react-datepicker__month-text--highlighted:hover,
    .react-datepicker__quarter-text--highlighted:hover,
    .react-datepicker__year-text--highlighted:hover {
      background-color: #32be3f; }
    .react-datepicker__day--highlighted-custom-1,
    .react-datepicker__month-text--highlighted-custom-1,
    .react-datepicker__quarter-text--highlighted-custom-1,
    .react-datepicker__year-text--highlighted-custom-1 {
      color: magenta; }
    .react-datepicker__day--highlighted-custom-2,
    .react-datepicker__month-text--highlighted-custom-2,
    .react-datepicker__quarter-text--highlighted-custom-2,
    .react-datepicker__year-text--highlighted-custom-2 {
      color: green; }
  .react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
  .react-datepicker__month-text--selected,
  .react-datepicker__month-text--in-selecting-range,
  .react-datepicker__month-text--in-range,
  .react-datepicker__quarter-text--selected,
  .react-datepicker__quarter-text--in-selecting-range,
  .react-datepicker__quarter-text--in-range,
  .react-datepicker__year-text--selected,
  .react-datepicker__year-text--in-selecting-range,
  .react-datepicker__year-text--in-range {
    border-radius: 0.3rem;
    background-color: #216ba5;
    color: #fff; }
    .react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover,
    .react-datepicker__month-text--selected:hover,
    .react-datepicker__month-text--in-selecting-range:hover,
    .react-datepicker__month-text--in-range:hover,
    .react-datepicker__quarter-text--selected:hover,
    .react-datepicker__quarter-text--in-selecting-range:hover,
    .react-datepicker__quarter-text--in-range:hover,
    .react-datepicker__year-text--selected:hover,
    .react-datepicker__year-text--in-selecting-range:hover,
    .react-datepicker__year-text--in-range:hover {
      background-color: #1d5d90; }
  .react-datepicker__day--keyboard-selected,
  .react-datepicker__month-text--keyboard-selected,
  .react-datepicker__quarter-text--keyboard-selected,
  .react-datepicker__year-text--keyboard-selected {
    border-radius: 0.3rem;
    background-color: #2a87d0;
    color: #fff; }
    .react-datepicker__day--keyboard-selected:hover,
    .react-datepicker__month-text--keyboard-selected:hover,
    .react-datepicker__quarter-text--keyboard-selected:hover,
    .react-datepicker__year-text--keyboard-selected:hover {
      background-color: #1d5d90; }
  .react-datepicker__day--in-selecting-range ,
  .react-datepicker__month-text--in-selecting-range ,
  .react-datepicker__quarter-text--in-selecting-range ,
  .react-datepicker__year-text--in-selecting-range {
    background-color: rgba(33, 107, 165, 0.5); }
  .react-datepicker__month--selecting-range .react-datepicker__day--in-range , .react-datepicker__month--selecting-range
  .react-datepicker__month-text--in-range , .react-datepicker__month--selecting-range
  .react-datepicker__quarter-text--in-range , .react-datepicker__month--selecting-range
  .react-datepicker__year-text--in-range {
    background-color: #f0f0f0;
    color: #000; }
  .react-datepicker__day--disabled,
  .react-datepicker__month-text--disabled,
  .react-datepicker__quarter-text--disabled,
  .react-datepicker__year-text--disabled {
    cursor: default;
    color: #ccc; }
    .react-datepicker__day--disabled:hover,
    .react-datepicker__month-text--disabled:hover,
    .react-datepicker__quarter-text--disabled:hover,
    .react-datepicker__year-text--disabled:hover {
      background-color: transparent; }

.react-datepicker__month-text.react-datepicker__month--selected:hover, .react-datepicker__month-text.react-datepicker__month--in-range:hover, .react-datepicker__month-text.react-datepicker__quarter--selected:hover, .react-datepicker__month-text.react-datepicker__quarter--in-range:hover,
.react-datepicker__quarter-text.react-datepicker__month--selected:hover,
.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,
.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover,
.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover {
  background-color: #216ba5; }

.react-datepicker__month-text:hover,
.react-datepicker__quarter-text:hover {
  background-color: #f0f0f0; }

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%; }

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem; }
  .react-datepicker__year-read-view:hover,
  .react-datepicker__month-read-view:hover,
  .react-datepicker__month-year-read-view:hover {
    cursor: pointer; }
    .react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
    .react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
    .react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
    .react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
    .react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
    .react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
      border-top-color: #b3b3b3; }
  .react-datepicker__year-read-view--down-arrow,
  .react-datepicker__month-read-view--down-arrow,
  .react-datepicker__month-year-read-view--down-arrow {
    border-top-color: #ccc;
    float: right;
    margin-left: 20px;
    top: 8px;
    position: relative;
    border-width: 0.45rem; }

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae; }
  .react-datepicker__year-dropdown:hover,
  .react-datepicker__month-dropdown:hover,
  .react-datepicker__month-year-dropdown:hover {
    cursor: pointer; }
  .react-datepicker__year-dropdown--scrollable,
  .react-datepicker__month-dropdown--scrollable,
  .react-datepicker__month-year-dropdown--scrollable {
    height: 150px;
    overflow-y: scroll; }

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .react-datepicker__year-option:first-of-type,
  .react-datepicker__month-option:first-of-type,
  .react-datepicker__month-year-option:first-of-type {
    border-top-left-radius: 0.3rem;
    border-top-right-radius: 0.3rem; }
  .react-datepicker__year-option:last-of-type,
  .react-datepicker__month-option:last-of-type,
  .react-datepicker__month-year-option:last-of-type {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border-bottom-left-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem; }
  .react-datepicker__year-option:hover,
  .react-datepicker__month-option:hover,
  .react-datepicker__month-year-option:hover {
    background-color: #ccc; }
    .react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
    .react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
    .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
      border-bottom-color: #b3b3b3; }
    .react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
    .react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
    .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
      border-top-color: #b3b3b3; }
  .react-datepicker__year-option--selected,
  .react-datepicker__month-option--selected,
  .react-datepicker__month-year-option--selected {
    position: absolute;
    left: 15px; }

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0px 6px 0px 0px;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle; }
  .react-datepicker__close-icon::after {
    cursor: pointer;
    background-color: #216ba5;
    color: #fff;
    border-radius: 50%;
    height: 16px;
    width: 16px;
    padding: 2px;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    content: "\00d7"; }

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left; }

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647; }
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 3rem;
    line-height: 3rem; }
  @media (max-width: 400px), (max-height: 550px) {
    .react-datepicker__portal .react-datepicker__day-name,
    .react-datepicker__portal .react-datepicker__day,
    .react-datepicker__portal .react-datepicker__time-name {
      width: 2rem;
      line-height: 2rem; } }
  .react-datepicker__portal .react-datepicker__current-month,
  .react-datepicker__portal .react-datepicker-time__header {
    font-size: 1.44rem; }
  .react-datepicker__portal .react-datepicker__navigation {
    border: 0.81rem solid transparent; }
  .react-datepicker__portal .react-datepicker__navigation--previous {
    border-right-color: #ccc; }
    .react-datepicker__portal .react-datepicker__navigation--previous:hover {
      border-right-color: #b3b3b3; }
    .react-datepicker__portal .react-datepicker__navigation--previous--disabled, .react-datepicker__portal .react-datepicker__navigation--previous--disabled:hover {
      border-right-color: #e6e6e6;
      cursor: default; }
  .react-datepicker__portal .react-datepicker__navigation--next {
    border-left-color: #ccc; }
    .react-datepicker__portal .react-datepicker__navigation--next:hover {
      border-left-color: #b3b3b3; }
    .react-datepicker__portal .react-datepicker__navigation--next--disabled, .react-datepicker__portal .react-datepicker__navigation--next--disabled:hover {
      border-left-color: #e6e6e6;
      cursor: default; }

b, strong,
.font-weight-bold {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

p:last-child {
  margin-bottom: 0; }

h1, .h1 {
  font-size: 1.875rem; }
  @media (min-width: 768px) {
    h1, .h1 {
      font-size: 3.125rem; } }

h2, .h2 {
  font-size: 1.75rem; }
  @media (min-width: 768px) {
    h2, .h2 {
      font-size: 2.625rem; } }

h3, .h3 {
  font-size: 1.75rem; }
  @media (min-width: 768px) {
    h3, .h3 {
      font-size: 2.625rem; } }

html {
  -ms-overflow-style: scrollbar;
  /*prevent scrollbar from overlapping content in IE*/ }

body {
  position: relative;
  font-size: 0.875rem;
  min-height: 100vh; }

@media (max-width: 767.98px) {
  body {
    min-width: 20rem;
    max-width: 100%;
    overflow-x: hidden; } }

.main-content {
  padding: .5rem 0 0; }
  @media (min-width: 576px) {
    .main-content {
      border-top: 0.625rem solid #F5F4F7;
      padding: 0; } }

.main-content__main {
  padding-bottom: 1.5rem; }
  @media (min-width: 768px) {
    .main-content__main {
      padding-top: 1.125rem;
      padding-bottom: 5rem; } }

.container-narrow {
  max-width: 66.0625rem; }

dl {
  overflow: hidden;
  margin: 0; }

dt {
  float: left;
  clear: left;
  margin-right: 0.5rem;
  font-weight: inherit; }

dd {
  margin: 0; }

/* Components */
.full-height-layout {
  display: flex;
  flex-direction: column;
  flex: auto; }

.full-height-layout__fit {
  flex: none; }

.full-height-layout__fill {
  flex: auto; }

.loading-indicator {
  text-align: center; }

.loading-indicator__spinner {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #999999;
  margin: auto;
  animation: loading-indicator__spinner-animation 1.2s infinite ease-in-out; }

.loading-indicator--sm .loading-indicator__spinner {
  width: 1.5rem;
  height: 1.5rem; }

.loading-indicator--inline {
  position: relative;
  display: inline-block;
  top: 0.125rem; }

.loading-indicator--inline .loading-indicator__spinner {
  width: 1em;
  height: 1em;
  background-color: currentColor; }

.btn-sm .loading-indicator--inline .loading-indicator__spinner, .btn-group-sm > .btn .loading-indicator--inline .loading-indicator__spinner {
  width: 0.8em;
  height: 0.8em; }

.btn-sm .loading-indicator--inline, .btn-group-sm > .btn .loading-indicator--inline {
  top: 0; }

.loading-indicator__text {
  margin-top: 1rem; }

@keyframes loading-indicator__spinner-animation {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

@media (min-width: 768px) {
  .teaser-grid__item {
    min-width: 14.9375rem; } }

@media (min-width: 768px) {
  .teaser-grid--sm .teaser-grid__item {
    min-width: 11.25rem;
    max-width: 11.25rem; } }

.icon-btn {
  position: relative;
  padding: 0.125rem;
  width: 1.75rem;
  height: 1.75rem;
  font-family: "Montserrat-Regular", sans-serif;
  border-radius: 50%; }

.icon-btn.icon-btn--lg {
  width: 2.25rem;
  height: 2.25rem; }
  @media (min-width: 768px) {
    .icon-btn.icon-btn--lg {
      width: 2.5rem;
      height: 2.5rem; } }

.icon-btn__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 0.75rem;
  height: 0.75rem; }

.icon-btn--lg .icon-btn__icon {
  width: auto;
  height: 1.125rem; }
  @media (min-width: 768px) {
    .icon-btn--lg .icon-btn__icon {
      height: 1.25rem; } }

/*
.btn-group {
    @if $btn-groups-rounded {
        > .icon-btn {
            padding: 2/16 * 1rem;
            border-radius: 50%;
            transform-origin: center;
            transition: transform 200ms ease-in-out;

            &:hover {
                transform: scale(1.42);
            }
        }

        > .icon-btn:not(:last-child) {
            margin-right: 8/16 * 1rem;
        }

        > .icon-btn:not(:last-child):not(.dropdown-toggle),
        > .btn-group:not(:last-child) > .icon-btn {
            @include border-right-radius(50%);
        }

        > .icon-btn:not(:first-child),
        > .btn-group:not(:first-child) > .icon-btn {
            @include border-left-radius(50%);
        }
    }
}*/
.btn-group-sm .btn {
  padding: 0.5rem; }

.sidebar-layout {
  position: relative; }

.sidebar-layout:not(.is-open) {
  padding-left: 1rem;
  padding-right: 1rem; }

.sidebar-layout.is-open .sidebar-layout__content {
  padding-left: 1.5rem; }

.sidebar-layout__side {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1rem;
  background: #F5F4F7; }

.sidebar-layout.is-open .sidebar-layout__side {
  position: relative;
  width: 13.75rem; }
  .sidebar-layout.is-open .sidebar-layout__side:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -200em;
    background: inherit; }

.sidebar-layout__side__content-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.sidebar-layout__side__content {
  position: relative;
  z-index: 0;
  height: 100%;
  padding: 0 0.1875rem;
  padding-top: 1.125rem;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  @media (min-width: 768px) {
    .sidebar-layout__side__content::-webkit-scrollbar-track {
      border-radius: 0.375rem;
      -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
      background-color: rgba(232, 232, 232, 0.3);
      transition: all 120ms ease; }
    .sidebar-layout__side__content::-webkit-scrollbar {
      border-radius: 0.375rem;
      width: 0.375rem;
      height: 0.375rem;
      background-color: rgba(232, 232, 232, 0.1);
      transition: all 120ms ease; }
    .sidebar-layout__side__content::-webkit-scrollbar-thumb {
      border-radius: 0.375rem;
      background-color: rgba(40, 40, 40, 0.3);
      transition: all 120ms ease; }
    .sidebar-layout__side__content:hover::-webkit-scrollbar-track {
      background-color: rgba(232, 232, 232, 0.9); }
    .sidebar-layout__side__content:hover::-webkit-scrollbar {
      background-color: rgba(232, 232, 232, 0.9); }
    .sidebar-layout__side__content:hover::-webkit-scrollbar-thumb {
      background-color: rgba(40, 40, 40, 0.9); } }

.sidebar-layout__side-toggle {
  flex: none;
  position: sticky;
  top: 50vh;
  transform: translate(25%, -50%);
  width: 1.25rem;
  height: 3.75rem;
  border: none;
  border-radius: 0.375rem;
  background-color: rgba(40, 40, 40, 0.998);
  color: #989898;
  z-index: 1; }

.sidebar-layout__side-toggle-icon {
  transform: rotate(180deg);
  transition: transform 230ms ease; }

.sidebar-layout.is-open .sidebar-layout__side-toggle {
  transform: translate(50%, -50%); }

.sidebar-layout.is-open .sidebar-layout__side-toggle-icon {
  transform: none; }

.filter-bar {
  padding: 0.625rem 0;
  background: #999999;
  position: relative;
  z-index: 3; }

.filter-bar__collapse {
  padding: 1.25rem 0; }

.filter-bar__dropdown .dropdown-toggle {
  padding-bottom: 0.725rem; }

@media (min-width: 768px) {
  .filter-bar__dropdown .dropdown-menu {
    background: #999999;
    border-radius: 0;
    border: none; } }

@media (min-width: 768px) {
  .filter-bar__dropdown .dropdown-item:hover {
    background: transparent; } }

.filter-bar {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  background: #fff; }

.filter-bar__collapse {
  padding-top: 0.75rem;
  padding-bottom: 0; }

.filter-bar .react-select--secondary .react-select__control {
  background-color: #fff;
  color: rgba(40, 40, 40, 0.998);
  border: 1px solid rgba(40, 40, 40, 0.3); }

.filter-bar .react-select--secondary .react-select__control:hover,
.filter-bar .react-select--secondary .react-select__control--menu-is-open {
  border-color: rgba(40, 40, 40, 0.3); }

.filter-bar .react-select--secondary .react-select__placeholder {
  color: rgba(40, 40, 40, 0.5); }

.filter-bar .react-select--secondary .react-select__input,
.filter-bar .react-select--secondary .react-select__value-container--has-value {
  color: rgba(40, 40, 40, 0.998); }

.filter-bar .react-select--secondary .react-select__clear-indicator,
.filter-bar .react-select--secondary .react-select__dropdown-indicator {
  color: rgba(40, 40, 40, 0.5); }

.filter-bar .react-select--secondary .react-select__multi-value {
  border-radius: 0.375rem;
  background-color: rgba(40, 40, 40, 0.998);
  color: #ffffff;
  overflow: hidden; }

.filter-bar .react-select--secondary .react-select__multi-value__label,
.filter-bar .react-select--secondary .react-select__multi-value__remove {
  color: inherit; }

.filter-bar .react-select--secondary .react-select__multi-value__remove:hover,
.filter-bar .react-select--secondary .react-select__multi-value__remove:focus,
.filter-bar .react-select--secondary .react-select__multi-value__remove:active {
  background-color: rgba(40, 40, 40, 0.7);
  color: #ffffff; }

.filter-bar .react-select--secondary .react-select__menu {
  background-color: #fff;
  color: rgba(40, 40, 40, 0.5); }

.filter-bar .react-select--secondary .react-select__option {
  background-color: #fff;
  color: rgba(40, 40, 40, 0.7); }

.filter-bar .react-select--secondary .react-select__option--is-focused {
  background-color: #0099CC;
  color: #fff; }

.filter-bar .react-select--secondary .react-select__option--is-selected,
.filter-bar .react-select--secondary .react-select__option:active {
  background-color: #0099CC;
  color: #fff; }

.pagination {
  justify-content: center;
  font-size: 0.875rem;
  margin-top: 1.5rem; }

.page-item:not(.last-child) {
  margin-right: 0.75rem; }

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%; }

.page-item:last-child .page-link {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%; }

.page-link {
  width: 1.875rem;
  height: 1.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%; }

.page-item.active .page-link {
  transform: scale(1.65);
  font-size: 0.5rem;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.3); }

.page-item__dot {
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background: #E8E8E8; }
  .page-item__dot:not(:last-child) {
    margin-right: 0.5rem; }

/* button styles */
.btn.btn-with-addon {
  padding-left: 2.625rem;
  position: relative; }
  @media (min-width: 768px) {
    .btn.btn-with-addon {
      padding-left: 2.8125rem;
      padding-right: 1.75rem; } }

.btn-block.btn-with-addon {
  padding-right: 2.125rem; }
  @media (min-width: 768px) {
    .btn-block.btn-with-addon {
      padding-right: 2.8125rem; } }

.btn-with-addon.btn-sm, .btn-group-sm > .btn-with-addon.btn {
  padding-left: 2.125rem;
  padding-right: 1rem; }

.btn__addon {
  position: absolute;
  left: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  color: rgba(40, 40, 40, 0.998);
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center; }

.btn__addon--pulsing:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: inherit;
  animation: pulse 1.0s infinite ease-in-out;
  border-radius: 50%;
  z-index: -1; }

@keyframes pulse {
  0% {
    transform: scale(0.9); }
  100% {
    transform: scale(1.6);
    opacity: 0; } }

.btn-link {
  padding: 0; }
  .btn-link:focus, .btn-link:hover {
    color: #0099CC; }

.btn__icon {
  vertical-align: -.1em; }

/* button sizes */
.btn-sm .btn__addon, .btn-group-sm > .btn .btn__addon {
  width: 1.40625rem;
  height: 1.40625rem; }

/* button modifier  */
.btn-rounded {
  border-radius: 1.5625rem; }

.btn-shadow {
  box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.3); }

/* extra button color */
.btn-gray {
  background: #4E4E4E;
  color: #fff; }
  .btn-gray:hover {
    background: #282828;
    color: #fff; }

.btn-outline-gray {
  color: #4E4E4E;
  border-color: #4E4E4E; }
  .btn-outline-gray:not(:disabled):not(.disabled).active {
    background: #4E4E4E;
    color: #fff; }
  .btn-outline-gray:hover {
    background: #4E4E4E;
    color: #fff; }

.btn-no-styling {
  padding: 0;
  font-family: inherit;
  text-align: left; }

.btn-row__btn {
  min-width: max-content;
  width: 100%;
  max-width: 100%; }

.teaser {
  position: relative;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  background-color: #fff;
  box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1);
  height: 100%; }

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

.teaser.is-active {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3); }

.teaser__img {
  overflow: hidden;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem; }

.teaser__options {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(24, 24, 24, 0.8);
  opacity: 0;
  transition: opacity 200ms ease-in-out;
  color: #fff;
  padding: 1.25rem; }

.teaser:hover .teaser__options {
  opacity: 1; }

@media (hover: none) and (pointer: coarse) {
  .teaser:hover .teaser__options {
    opacity: 0; }
  .teaser__options.is-open {
    opacity: 1; } }

.teaser .action-bar {
  opacity: 0;
  transition: opacity 200ms ease-in-out; }

.teaser:hover .action-bar {
  opacity: 1; }

.teaser__select {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  border-color: #F5F4F7; }

.teaser__body {
  padding: 1.25rem 0.625rem 0.9375rem;
  word-break: break-word; }

.teaser__title {
  font-size: 0.625rem;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  color: #BCBCBC; }

.teaser__badge {
  position: absolute;
  top: .5rem;
  right: .5rem;
  opacity: .7; }
  @media (hover: none) and (pointer: coarse) {
    .teaser__badge {
      top: auto;
      bottom: .5rem; } }

.teaser__badge {
  position: static; }

.teaser__badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
  position: absolute;
  top: .5rem;
  right: .5rem;
  opacity: .7; }
  @media (hover: none) and (pointer: coarse) {
    .teaser__badges {
      top: auto;
      bottom: .5rem;
      flex-direction: row; } }

.teaser__options {
  /* increase z-index to put it above badges */
  z-index: 1; }

.list-teaser {
  position: relative;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  background-color: #fff;
  box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1);
  height: 100%; }
  @media (min-width: 1200px) {
    .list-teaser {
      font-size: 0.875rem; } }

.list-teaser__body {
  padding: 1rem 1.25rem 1rem 1rem; }
  @media (min-width: 768px) {
    .list-teaser__body {
      padding: 1.25rem 1rem; } }
  @media (min-width: 1200px) {
    .list-teaser__body {
      font-size: 0.875rem;
      padding: 1.25rem 2rem; } }

.list-teaser__title {
  font-size: 0.875rem;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  margin: 0;
  word-break: break-word; }
  @media (min-width: 1200px) {
    .list-teaser__title {
      font-size: 1rem; } }

@media (min-width: 768px) {
  .list-teaser__col-divider:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    height: 1.25rem;
    width: 0.125rem;
    background: #0099CC;
    opacity: .2; } }

.list-teaser__additional-body {
  padding: .5rem 1.25rem;
  border-top: 1px solid #E8E8E8; }

@media (min-width: 768px) {
  .main-nav--level-0 {
    display: flex;
    flex: auto;
    align-items: center;
    height: 100%;
    padding-top: 0.1875rem;
    margin: 0 -0.5rem; }
  .main-nav__list--level-0 {
    display: flex;
    flex-direction: row; }
  .main-nav__item--level-0 {
    display: flex;
    flex-direction: column;
    flex: auto;
    position: relative; } }

@media (min-width: 768px) {
  .main-nav__item-content--level-0 {
    display: flex;
    align-items: center;
    flex: auto;
    text-transform: uppercase;
    font-size: 0.625rem;
    letter-spacing: 0.0625rem; } }

@media (min-width: 768px) {
  .main-nav__item--level-0:not(:last-child) {
    margin-right: 0.375rem; } }

@media (min-width: 1200px) {
  .main-nav__item--level-0:not(:last-child) {
    margin-right: 24px; } }

@media (hover: none) and (pointer: coarse), screen and (max-width: 767px) {
  .main-nav__item-content--level-0 {
    display: flex; } }

@media (max-width: 767.98px) {
  .main-nav__item {
    display: block;
    width: 100%; } }

.main-nav__item__icon {
  position: relative;
  margin-right: 0.3125rem;
  flex-shrink: 0;
  padding: 0.3125rem; }
  @media (min-width: 1200px) {
    .main-nav__item__icon {
      margin-right: 0.625rem; } }

.is-active .main-nav__item__icon__icon {
  box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.3);
  background: #fff;
  color: #181818; }

.is-active .main-nav__item__icon__bg {
  opacity: 1; }

.main-nav__item__icon__icon {
  width: 2.1875rem;
  height: 2.1875rem;
  background: #0099CC;
  color: #fff;
  border-radius: 50%; }
  @media (min-width: 1200px) {
    .main-nav__item__icon__icon {
      width: 2.5rem;
      height: 2.5rem; } }

.main-nav__item__icon__icon svg {
  width: 0.875rem;
  height: 0.875rem;
  fill: #fff; }
  @media (min-width: 1200px) {
    .main-nav__item__icon__icon svg {
      width: 1rem;
      height: 1rem; } }

.is-active .main-nav__item__icon__icon svg {
  fill: #181818; }

.main-nav__item__icon__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #F5F4F7;
  z-index: -1;
  opacity: 0;
  transition: opacity 200ms ease-in-out;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%; }
  @media (min-width: 768px) {
    .main-nav__item__icon__bg {
      border-radius: 0;
      border-top-left-radius: 50%;
      border-top-right-radius: 50%; } }

@media (min-width: 768px) {
  .main-nav--level-1 {
    position: absolute;
    z-index: 10;
    top: 100%;
    left: 0;
    visibility: hidden;
    opacity: 0;
    padding: 0.9375rem 1.5625rem;
    min-width: 17.5rem;
    background-color: #fff;
    border-radius: 0.375rem;
    box-shadow: 0 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.2); } }

@media (min-width: 1200px) {
  .main-nav--level-1 {
    padding: 0.9375rem 3.125rem; } }

@media (min-width: 768px) {
  .main-nav__item:hover > .main-nav--level-1,
  .main-nav__item.is-open > .main-nav--level-1 {
    opacity: 1;
    visibility: visible; }
  .main-nav__item-content--level-1 {
    padding: 0.3125rem 0;
    display: block; }
  .main-nav__item-content--level-1:hover,
  .main-nav__item-content--level-1:focus,
  .main-nav__item-content--level-1:active {
    color: #0099CC; } }

.main-navbar__container {
  width: 100%; }
  @media (min-width: 768px) {
    .main-navbar__container {
      max-width: 1484px;
      margin: 0 auto;
      padding-left: 12px;
      padding-right: 12px; } }

.main-navbar__top {
  background: #FFF;
  /* [START CAUTION] Relevant for frontend customization str_replace */
  /* [END CAUTION] */
  color: #181818;
  padding: 1rem 0; }
  @media (min-width: 768px) {
    .main-navbar__top {
      padding: 1.4rem 0; } }

.main-navbar__top__item {
  flex-shrink: 0;
  line-height: 1;
  position: relative;
  padding: 0.25rem 0; }

.main-navbar__top__item:not(:first-child) {
  margin-left: 1rem; }

.main-navbar__top__item__icon {
  height: 1.375rem; }

.main-navbar__dropdown {
  visibility: hidden;
  opacity: 0;
  transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out;
  margin-bottom: 0;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  position: absolute;
  top: 100%;
  right: 0;
  padding: 0.9375rem 1.5625rem;
  min-width: 12.5rem;
  background-color: #fff;
  color: #181818;
  border-radius: 0.375rem;
  box-shadow: 0 2.5rem 2.5rem 0 rgba(0, 0, 0, 0.2);
  z-index: 4; }

.main-navbar__top__item.is-open .main-navbar__dropdown,
.main-navbar__top__item:hover .main-navbar__dropdown {
  opacity: 1;
  visibility: visible; }

.main-navbar__dropdown__link {
  padding: 0.5rem 0;
  display: block; }

@media (hover: none) and (pointer: coarse), screen and (max-width: 767px) {
  .main-nav__item.has-children > .main-nav__item-content--link,
  .main-navbar__top__item.has-children > .main-navbar__top__item-content--link {
    display: none; }
  .main-nav__item.has-no-children > .main-nav__item-content--toggle,
  .main-navbar__top__item.has-no-children > .main-navbar__top__item-content--toggle {
    display: none; }
  .main-nav__item.has-children > .main-nav__item-content--toggle,
  .main-navbar__top__item.has-children > .main-navbar__top__item-content--toggle {
    display: flex; } }

.main-nav__item-content:hover {
  text-decoration: none; }

.main-navbar__top__item-content--toggle,
.main-nav__item-content--toggle {
  display: none;
  background: transparent;
  border: 0; }

.main-nav__list {
  margin-bottom: 0;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  font-size: 0.875rem; }

.main-nav__title {
  display: none; }
  @media (hover: none) and (pointer: coarse), screen and (max-width: 767px) {
    .main-nav__title {
      margin-bottom: 0.3125rem;
      display: block;
      color: #0099CC;
      text-transform: uppercase; } }

.main-navbar__top__search {
  padding: 0 1rem; }
  @media screen and (min-width: 768px) {
    .main-navbar__top__search {
      padding: 0 24px; } }

.main-navbar__top__search .form-control {
  background: #fff;
  border-color: #E8E8E8; }

.main-navbar__top__search .form-control {
  border-radius: 1.5625rem;
  min-height: calc(1.28em + 2rem + 2px);
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media (max-width: 767.98px) {
    .main-navbar__top__search .form-control {
      font-size: 1rem; } }

.typeahead .form-control {
  padding-left: 2.5rem; }
  @media (min-width: 768px) {
    .typeahead .form-control {
      padding-left: 4.875rem; } }

.main-navbar__top__search .rbt-menu {
  max-width: calc(100% - 40/16*1rem);
  margin: 0 1.25rem; }
  @media (min-width: 768px) {
    .main-navbar__top__search .rbt-menu {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }

.main-navbar__logo img {
  max-height: 74px; }

@media (max-width: 767.98px) {
  .main-nav {
    display: none;
    padding: 1rem 0; }
  .is-open > .main-nav {
    display: block; }
  .main-nav__item-content {
    width: 100%;
    padding: .5rem 0;
    display: flex;
    align-items: center; }
  /* level 0 */
  .main-nav--level-0 {
    display: block;
    position: absolute;
    top: 4.9375rem;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    color: rgba(40, 40, 40, 0.998);
    margin: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    transform: translateX(-100%);
    transition: 120ms ease; }
  .main-nav--level-0.is-open {
    z-index: 9;
    visibility: visible;
    transform: translateX(0); }
  .is-open > .main-nav__item-content--level-0 {
    color: #0099CC; }
  .main-nav--level-1 {
    background: #F5F4F7;
    padding: 1rem; } }

.main-navbar__toggle {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0; }
  @media (min-width: 768px) {
    .main-navbar__toggle {
      display: none; } }

.main-navbar__toggle__line {
  width: 1.75rem;
  height: 0.1875rem;
  background: #fff;
  display: block;
  border-radius: 0.375rem;
  transition: transform 200ms ease-in-out, opacity 200ms ease-in-out; }
  .main-navbar__toggle__line:not(:first-child) {
    margin-top: 0.3125rem; }

.is-open .main-navbar__toggle__line {
  transform: translate(0px, -5px) rotate(-45deg); }
  .is-open .main-navbar__toggle__line:nth-child(1) {
    opacity: 0; }
  .is-open .main-navbar__toggle__line:nth-child(2) {
    transform: translate(0px, 3px) rotate(45deg); }

@media (min-width: 768px) {
  .main-nav__collapse-icon {
    display: none; } }

@media (max-width: 767.98px) {
  .main-nav__collapse-icon {
    display: block;
    font-size: .5em;
    transition: transform 120ms ease-out;
    transform-origin: center center;
    transform: none; } }

.is-open > .main-nav__item-content > .main-nav__collapse-icon {
  transform: rotate(180deg); }

.main-navbar__top__item:not(:first-child) {
  margin-left: 1rem; }

.main-navbar__top__item__icon {
  height: 1.25rem;
  min-width: 1.25rem; }

.main-footer {
  background: rgba(40, 40, 40, 0.998);
  color: #fff;
  padding: 1.875rem 0;
  font-size: 0.875rem; }

.copyright-bar {
  background: #0099CC;
  color: #fff;
  padding: 0.75rem;
  font-size: 0.875rem; }

.main-footer__logo {
  max-height: 74px; }

.main-footer {
  background: #fff;
  color: inherit;
  border-top: 0.0625rem solid #F5F4F7; }

.form-control-rounded {
  border-radius: 1.5625rem; }

@media (max-width: 767.98px) {
  .form-control,
  .react-select,
  .react-select__input {
    font-size: 1rem; } }

.form-control {
  height: auto; }

.form-group--custom label {
  margin-bottom: 0.3125rem;
  color: #989898;
  font-size: 0.75rem; }

/* colors */
.form-control--dark,
.form-control--dark:focus {
  background: rgba(40, 40, 40, 0.998);
  border-color: rgba(40, 40, 40, 0.998);
  color: #fff; }

.form-control {
  border-color: #cccccc; }

.form-control:disabled, .form-control[readonly] {
  background-color: #f2f2f2;
  color: #999999; }

.form-group--custom input[type="checkbox"] {
  position: relative;
  top: 2px; }

.form-control--card-header {
  position: relative;
  text-align: left;
  border-top: none;
  border-left: none;
  border-right: none;
  margin-bottom: -1px;
  padding-right: 3rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-color: transparent; }
  .form-control--card-header:focus {
    box-shadow: none;
    border-color: inherit; }

.form-control--card-header__collapse-icon {
  position: absolute;
  top: 50%;
  right: .75rem;
  transform: translateY(-50%);
  transition: transform 200ms ease-in-out; }

.form-control--card-header.is-open {
  border-color: inherit; }

.form-control--card-header.is-open .form-control--card-header__collapse-icon {
  transform: translateY(-50%) rotate(180deg); }

.form-control-icon {
  position: absolute;
  left: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(40, 40, 40, 0.998); }
  @media (min-width: 768px) {
    .form-control-icon {
      left: 1.875rem; } }

.form-control-icon + .form-control {
  padding-left: 2.5rem; }
  @media (min-width: 768px) {
    .form-control-icon + .form-control {
      padding-left: 4.875rem; } }

.custom-checkbox {
  position: relative;
  padding-left: 1.875rem;
  line-height: 1.28; }

.custom-checkbox:before,
.custom-checkbox:after {
  content: " ";
  display: table; }

.custom-checkbox:after {
  clear: both; }

.custom-checkbox > label {
  cursor: pointer;
  margin-bottom: 0; }

.custom-checkbox__input {
  position: absolute;
  width: calc(1rem/16);
  height: calc(1rem/16);
  margin: calc(-1rem/16);
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.custom-checkbox__input:focus ~ .custom-checkbox__box {
  box-shadow: inset 0.125rem 0.125rem 0.125rem 0 rgba(0, 153, 204, 0.4); }

.custom-checkbox__input:checked ~ .custom-checkbox__box .custom-checkbox__box__icon {
  visibility: visible; }

.custom-checkbox__box {
  position: absolute;
  left: 0;
  top: -0.1875rem;
  height: 1.3125rem;
  width: 1.3125rem;
  border: 0.0625rem solid #E8E8E8;
  border-radius: 0.375rem;
  background-color: #fff;
  box-shadow: inset 0.125rem 0.125rem 0.125rem 0 rgba(0, 0, 0, 0.2); }

.custom-checkbox__box__icon {
  position: absolute;
  color: #989898;
  visibility: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -45%);
  width: 70%; }

.has-error .custom-checkbox__box {
  border-color: #dc3545; }

.custom-checkbox__text {
  display: block;
  overflow: hidden; }

.custom-checkbox--hidden-label {
  padding-left: 0;
  margin-right: 0.625rem; }

.custom-checkbox--hidden-label .custom-checkbox__box {
  display: block;
  position: relative; }

.custom-checkbox--hidden-label .custom-checkbox__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.custom-radio {
  position: relative;
  padding-left: 1.875rem; }

.custom-radio:before,
.custom-radio:after {
  content: " ";
  display: table; }

.custom-radio:after {
  clear: both; }

.custom-radio > label {
  cursor: pointer;
  margin-bottom: 0; }

.custom-radio__input {
  position: absolute;
  width: calc(1rem/16);
  height: calc(1rem/16);
  margin: calc(-1rem/16);
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.custom-radio__box {
  position: absolute;
  left: 0;
  top: -0.0625rem;
  height: 1.375rem;
  width: 1.375rem;
  border: 0.0625rem solid #E8E8E8;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: inset 0.125rem 0.125rem 0.125rem 0 rgba(0, 0, 0, 0.2); }
  .custom-radio__box:before {
    content: '';
    position: absolute;
    background: #83D865;
    visibility: hidden;
    top: 0.4375rem;
    left: 0.4375rem;
    width: 0.4375rem;
    height: 0.4375rem;
    border-radius: 50%; }

.custom-radio__input:focus ~ .custom-radio__box {
  box-shadow: inset 0.125rem 0.125rem 0.125rem 0 rgba(0, 153, 204, 0.4); }

.custom-radio__input:checked ~ .custom-radio__box:before {
  visibility: visible; }

.has-error .custom-radio__box {
  border-color: #dc3545; }

.custom-radio__text {
  display: block;
  overflow: hidden; }

.select {
  position: relative; }

.select select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none; }

.select select::-ms-expand {
  display: none; }

.select__icon {
  color: #BCBCBC;
  speak: none;
  position: absolute;
  pointer-events: none;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1; }

@media (min-width: 768px) {
  .card-header {
    padding: 1.125rem 1.25rem; } }

.card-header__btn {
  background: none;
  border: 0;
  padding: 0;
  box-shadow: none;
  color: inherit;
  font-size: 0.75rem; }

.card-header__btn__icon {
  color: rgba(40, 40, 40, 0.998);
  margin-right: 0.625rem;
  transition: transform 200ms ease-in-out; }
  @media (min-width: 768px) {
    .card-header__btn__icon {
      margin-right: 1rem; } }

.card.is-open .card-header__btn__icon {
  transform: rotate(180deg); }

.card + .card {
  margin-top: 1rem; }

.accordion > .card {
  margin-top: 0; }

.accordion > .card:first-of-type {
  border-bottom: 0.0625rem solid #e7e5ec; }

.collapse-container {
  transition: height 250ms ease-in-out; }

.card-body {
  padding: 1.25rem; }

/* colors */
.card--light {
  border-color: #BCBCBC; }

.card--light .card-header {
  background: none; }

.accordion > .card--light:first-child {
  border-color: #BCBCBC; }

.fieldset {
  position: relative;
  border: 0.0625rem solid #e7e5ec;
  padding: 1.125rem 0.625rem 0.625rem; }
  @media (min-width: 768px) {
    .fieldset {
      padding: 1.5625rem 1.25rem 1.25rem; } }

.fieldset__title {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0.3125rem;
  padding: 0 0.3125rem;
  transform: translateY(-50%);
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  font-size: 0.75rem; }
  @media (min-width: 768px) {
    .fieldset__title {
      left: 0.75rem;
      padding: 0 0.5rem; } }

.nav-tabs {
  position: relative;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  overflow: hidden;
  font-size: 0.75rem;
  flex-wrap: nowrap;
  overflow-y: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  @media (min-width: 768px) {
    .nav-tabs::-webkit-scrollbar-track {
      border-radius: 0.375rem;
      -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
      background-color: rgba(232, 232, 232, 0.3);
      transition: all 120ms ease; }
    .nav-tabs::-webkit-scrollbar {
      border-radius: 0.375rem;
      width: 0.375rem;
      height: 0.375rem;
      background-color: rgba(232, 232, 232, 0.1);
      transition: all 120ms ease; }
    .nav-tabs::-webkit-scrollbar-thumb {
      border-radius: 0.375rem;
      background-color: rgba(40, 40, 40, 0.3);
      transition: all 120ms ease; }
    .nav-tabs:hover::-webkit-scrollbar-track {
      background-color: rgba(232, 232, 232, 0.9); }
    .nav-tabs:hover::-webkit-scrollbar {
      background-color: rgba(232, 232, 232, 0.9); }
    .nav-tabs:hover::-webkit-scrollbar-thumb {
      background-color: rgba(40, 40, 40, 0.9); } }

.nav-tabs .nav-item {
  flex-shrink: 0;
  position: relative; }

.nav-tabs .nav-link {
  position: relative;
  border-radius: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 0.625rem 0.9375rem;
  width: 100%;
  background: none; }
  @media (min-width: 768px) {
    .nav-tabs .nav-link {
      background: #fff;
      padding: 0.75rem 1.25rem; } }

.nav-tabs .nav-link:focus {
  outline: none; }

.nav-link__icon {
  margin-right: 0.375rem;
  width: 1.25rem; }

.nav-tabs.nav-level--1 {
  margin-bottom: 1.25rem; }
  @media (min-width: 768px) {
    .nav-tabs.nav-level--1 {
      margin-bottom: 1.875rem;
      border-radius: 1.5625rem; } }

@media (min-width: 768px) {
  .nav-level--1 + .tab-content {
    padding: 0 1.25rem; } }

.nav-level--1 > .nav-item {
  flex: 1 0 auto;
  text-align: center; }

@media (min-width: 768px) {
  .nav-level--1 > .nav-item:not(:last-child) .nav-link.active:after {
    content: '';
    position: absolute;
    right: -0.9375rem;
    height: 1.25rem;
    bottom: 0;
    width: 1.25rem;
    background: #e7e5ec; } }

.nav-level--1 > .nav-item .nav-link {
  padding: 0.625rem 0.25rem;
  border-bottom: 0; }
  @media (min-width: 768px) {
    .nav-level--1 > .nav-item .nav-link {
      padding: 0.875rem 0.625rem;
      border-radius: 1.5625rem;
      border-bottom-right-radius: 0; } }
  @media (min-width: 992px) {
    .nav-level--1 > .nav-item .nav-link {
      padding: 1rem; } }

@media (min-width: 768px) {
  .nav-level--1 > .nav-item .nav-link:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.4375rem;
    background: #e7e5ec; } }

.nav-tabs:not(.nav-level--1) + .tab-content > .tab-pane {
  border: 0.0625rem solid #e7e5ec;
  padding: 0.75rem 0.75rem; }
  @media (min-width: 768px) {
    .nav-tabs:not(.nav-level--1) + .tab-content > .tab-pane {
      padding: 1.25rem; } }

@media (min-width: 768px) {
  .nav-tabs--lg .nav-link {
    font-size: 1rem;
    padding: 0.9375rem 3.125rem; } }

.nav-tabs--bg + .tab-content .tab-pane,
.nav-tabs--bg + .tab-content-container {
  background: #e7e5ec; }

.tab-content-container {
  padding: 1.875rem 3.125rem; }

.nav-tabs--dark .active.nav-link {
  background: rgba(40, 40, 40, 0.998);
  color: #fff; }

@media (max-width: 767.98px) {
  .nav-tabs.nav-tabs--bar-sm {
    margin-bottom: 1.25rem;
    background: #F5F4F7;
    margin-left: -12px;
    margin-right: -12px; } }

@media (max-width: 767.98px) {
  .nav-tabs--bar-sm > .nav-item {
    flex: 1 0 auto;
    text-align: center; } }

@media (max-width: 767.98px) {
  .nav-tabs--bar-sm > .nav-item:not(:first-child) {
    margin-left: 12px; } }

@media (max-width: 767.98px) {
  .nav-tabs--bar-sm > .nav-item > .nav-link.active {
    background: transparent;
    color: #0099CC; } }

@media (max-width: 767.98px) {
  .nav-tabs--bar-sm > .nav-item > .nav-link.active:after {
    content: '';
    position: absolute;
    background: #0099CC;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.25rem; } }

.nav-item__close {
  position: absolute;
  top: 0;
  right: 0; }

.nav-pills {
  border-radius: 1.5625rem;
  border: 0.0625rem solid #999999;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.nav-pills .nav-link {
  padding: 0.75rem 0.9375rem;
  border: 0;
  background: inherit;
  width: 100%; }

.nav-pills .nav-link.active {
  color: #fff; }

.image-teaser {
  box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  color: #fff;
  overflow: hidden; }

.image-teaser__img {
  transition: transform 200ms ease-in-out; }

.image-teaser:hover .image-teaser__img {
  transform: scale(1.05); }

.image-teaser__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  padding: 0.625rem 0.75rem;
  background: linear-gradient(180deg, rgba(40, 40, 40, 0) 0%, rgba(40, 40, 40, 0.7) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }
  @media (min-width: 768px) {
    .image-teaser__content {
      padding: 1.125rem 1.25rem; } }

.image-teaser__content__title {
  margin-bottom: 0;
  font-size: 1.5rem; }

.image-teaser--sm .image-teaser__content__title {
  font-size: 1rem; }

.media {
  display: block; }

.media__options {
  padding: 0.5rem 0.375rem;
  padding-left: 0; }

.media__label {
  margin-bottom: 0.3125rem;
  color: #989898;
  font-size: 0.75rem; }

.media__item {
  background: #F5F4F7; }

.content-teaser {
  border-radius: 0.375rem;
  box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1);
  overflow: hidden; }

.content-teaser__content {
  padding: 2.125rem 1.5rem; }
  @media (min-width: 1200px) {
    .content-teaser__content {
      padding: 3.125rem; } }

.content-teaser__content__title {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }
  @media (min-width: 768px) {
    .content-teaser__content__title {
      font-size: 1.625rem; } }
  @media (min-width: 1200px) {
    .content-teaser__content__title {
      font-size: 2.625rem; } }

.content-teaser__img {
  display: flex;
  width: 100%;
  height: 100%; }

.content-teaser__img > img {
  object-fit: cover;
  width: 100%; }
  @media (min-width: 768px) {
    .content-teaser__img > img {
      border-top-right-radius: 0.375rem;
      border-bottom-right-radius: 0.375rem; } }

.content-teaser--media-left .content-teaser__img > img {
  border-radius: 0; }
  @media (min-width: 768px) {
    .content-teaser--media-left .content-teaser__img > img {
      border-top-left-radius: 0.375rem;
      border-bottom-left-radius: 0.375rem; } }

.breadcrumb {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  color: #BCBCBC;
  margin-bottom: 0;
  word-break: break-word; }

.action-bar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }

.action-bar--absolute {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-50%); }

.action-bar__item:not(:last-child) {
  margin-right: 0.5rem; }

.action-bar__button {
  transform-origin: center;
  transition: transform 200ms ease-in-out, z-index 0.01ms 2000ms;
  background: rgba(40, 40, 40, 0.998);
  color: #fff;
  flex-shrink: 0; }

.action-bar__item:hover .action-bar__button,
.action-bar__button:hover {
  transition: transform 200ms ease-in-out, z-index 0.01ms;
  transform: scale(1.42);
  background: rgba(40, 40, 40, 0.998);
  border-color: rgba(40, 40, 40, 0.998);
  color: #fff;
  z-index: 10; }

.action-bar__item__title {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-100%);
  font-size: 0.5rem;
  padding: 0.125rem 0.25rem;
  margin-bottom: 0.125rem;
  transition: opacity 200ms ease-in-out;
  display: block;
  background: rgba(153, 153, 153, 0.5);
  color: #181818;
  border-radius: 0.375rem; }

.action-bar__item:hover .action-bar__item__title,
.action-bar__button:hover .action-bar__item__title {
  opacity: 1; }

/* Light */
.action-bar--light .action-bar__button {
  background: #E8E8E8;
  color: #181818; }

.action-bar--light .action-bar__item:hover .action-bar__button,
.action-bar--light .action-bar__button:hover {
  color: #181818; }

/* no wrap */
.action-bar--no-wrap {
  flex-wrap: nowrap; }

.action-bar--absolute {
  /* increase z-index to put it above teaser-options */
  z-index: 2; }

.state-circle {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  vertical-align: -0.3em; }

.selection-bar {
  padding: 0.9375rem 0;
  border-top: 0.0625rem solid #F5F4F7;
  bottom: 0;
  left: 0;
  right: 0;
  position: sticky;
  background: #ffffff;
  transform: translateY(100%);
  opacity: 0;
  z-index: 3;
  font-size: 0.75rem; }
  @media (min-width: 1200px) {
    .selection-bar {
      font-size: 0.875rem; } }

.selection-bar__btn {
  font-size: 0.75rem; }
  @media (min-width: 1200px) {
    .selection-bar__btn {
      font-size: 0.875rem; } }

.selection-bar--enter-active,
.selection-bar--enter-done {
  transform: none;
  opacity: 1; }

.selection-bar--enter-active,
.selection-bar--exit-active,
.selection-bar--exit {
  transition: all 120ms ease-out; }

.selection-bar__list {
  padding-top: 12px;
  opacity: 0; }
  @media (min-width: 768px) {
    .selection-bar__list {
      padding-top: 24px; } }

.selection-bar__list--enter-active,
.selection-bar__list--enter-done {
  opacity: 1; }

.selection-bar__list--enter-active,
.selection-bar__list--exit-active,
.selection-bar__list--exit {
  transition: opacity 250ms ease-out; }

.result-info {
  padding-bottom: 1rem; }

.result-info__filter .btn:not(:last-child) {
  margin-right: 0.5rem; }

.popover {
  box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.1); }

.image-hotspot {
  position: absolute;
  box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.1);
  cursor: pointer; }
  .image-hotspot:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .7;
    border-radius: 0.375rem;
    background: #0099CC;
    transition: opacity 200ms ease-in-out; }
  .image-hotspot:hover:before {
    opacity: .5; }

.image-marker {
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  background: #0099CC;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 0 0.125rem 0.125rem rgba(0, 0, 0, 0.1); }
  .image-marker:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%) scale(0.8);
    width: 0.625rem;
    height: 0.625rem;
    background: #fff;
    border-radius: 50%;
    transition: transform 200ms ease-in-out; }
  .image-marker:hover:before {
    transform: translateY(-50%) translateX(-50%) scale(1); }

.image-gallery {
  width: 0;
  min-width: 100%; }

.image-gallery .BrainhubCarousel {
  background: #F5F4F7;
  margin-bottom: 0.625rem; }

.image-gallery .BrainhubCarousel__trackContainer .BrainhubCarousel__track {
  padding: 1.5625rem 0; }

.image-gallery .BrainhubCarousel__dots {
  margin-top: -0.625rem;
  margin-bottom: 1.5625rem; }

.image-gallery .BrainhubCarousel__dot {
  padding: 0;
  margin: 0.3125rem;
  border-radius: 0.375rem; }
  .image-gallery .BrainhubCarousel__dot:before {
    width: 0.625rem;
    height: 0.625rem;
    background: #999999; }

.image-gallery .BrainhubCarousel__dot.BrainhubCarousel__dot--selected:before {
  background: #0099CC; }

.key-value-item a {
  color: #0099CC;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.key-value-item__label {
  margin-bottom: 0.1875rem;
  color: #989898;
  font-size: 0.75rem; }

.language-switch {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e7e5ec; }
  .language-switch .language-switch__select {
    padding: 0.2rem; }

.table thead th {
  border-top: 0;
  font-size: 0.75rem;
  color: #989898;
  font-weight: 400;
  border-bottom: 0;
  padding-bottom: 0; }

.table tbody tr:first-child th,
.table tbody tr:first-child td {
  border-top: 0; }

@media (min-width: 768px) {
  .table-responsive::-webkit-scrollbar-track {
    border-radius: 0.375rem;
    -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
    background-color: rgba(232, 232, 232, 0.3);
    transition: all 120ms ease; }
  .table-responsive::-webkit-scrollbar {
    border-radius: 0.375rem;
    width: 0.375rem;
    height: 0.375rem;
    background-color: rgba(232, 232, 232, 0.1);
    transition: all 120ms ease; }
  .table-responsive::-webkit-scrollbar-thumb {
    border-radius: 0.375rem;
    background-color: rgba(40, 40, 40, 0.3);
    transition: all 120ms ease; }
  .table-responsive:hover::-webkit-scrollbar-track {
    background-color: rgba(232, 232, 232, 0.9); }
  .table-responsive:hover::-webkit-scrollbar {
    background-color: rgba(232, 232, 232, 0.9); }
  .table-responsive:hover::-webkit-scrollbar-thumb {
    background-color: rgba(40, 40, 40, 0.9); } }

.table {
  margin-bottom: 0; }

.dropdown .dropdown-toggle:after,
.dropdown .dropdown-toggle:before {
  content: none; }

.dropdown-toggle {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.dropdown-menu {
  font-size: 0.7875rem;
  font-family: "Montserrat-Regular", sans-serif;
  font-weight: 400; }

.dropdown-item.active {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.dropdown--sm .dropdown-toggle,
.dropdown--sm .dropdown-menu {
  font-size: 0.7875rem; }

.tree {
  padding-left: 0.875rem;
  padding-top: 0.375rem;
  font-size: 0.75rem; }

.tree--level-0 {
  padding: 0;
  margin: 0;
  font-size: 1em; }

.tree--level-1 {
  font-size: 0.75rem; }

.tree__item {
  min-width: 10rem; }

.tree__item + .tree__item {
  margin-top: 0.375rem; }

.tree__node.is-selected {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.tree__item__collapse {
  background: transparent;
  border: 0;
  color: currentColor;
  padding: 0;
  display: flex;
  text-align: left; }
  .tree__item__collapse:focus {
    outline: none;
    color: #0099CC; }

.tree__item__collapse__icon {
  transition: transform 200ms ease-in-out;
  margin-right: 0.5rem;
  flex-shrink: 0;
  align-self: flex-start;
  transform: rotate(-90deg); }

.tree__item__collapse.is-open > .tree__item__collapse__icon {
  transform: rotate(0deg); }

.tree__item__type {
  flex-shrink: 0;
  margin-right: .5rem;
  vertical-align: -.4em; }

.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: transform 200ms ease-in-out;
  z-index: 100;
  background-color: #F5F4F7;
  display: flex;
  flex-direction: column;
  transform: translateX(100%); }

.overlay--enter-active,
.overlay--enter-done {
  transform: none; }

.overlay--enter-active,
.overlay--exit-active,
.overlay--exit {
  transition: transform 120ms ease-out; }

.overlay__head {
  display: flex;
  flex-direction: row;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  flex: none; }

.overlay__head-item {
  flex: none;
  padding: 1rem; }

.overlay__head-item--main {
  flex: auto;
  word-break: break-word; }

.overlay__head-item + .overlay__head-item {
  border-left: 1px solid #E8E8E8; }

.overlay__body {
  padding-top: 1rem;
  padding-bottom: 1rem;
  flex: auto;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }

.overlay__title {
  margin-bottom: 0; }

.blur-image {
  display: flex;
  justify-content: center;
  align-items: center; }

.blur-image__image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto; }

.blur-image__bg {
  filter: blur(0.25rem);
  -webkit-filter: blur(0.25rem);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-blend-mode: overlay; }

@media (max-width: 767.98px) {
  .rbt {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: auto; } }

.rbt-menu {
  border: 0; }
  @media (min-width: 768px) {
    .rbt-menu {
      box-shadow: 0 1.25rem 1.875rem 0 rgba(0, 0, 0, 0.1); } }
  @media (max-width: 767.98px) {
    .rbt-menu {
      background: transparent;
      flex: auto;
      /* override inline styles*/
      position: static !important;
      max-height: none !important;
      transform: none !important; } }

.rbt-menu .dropdown-header {
  color: #999999;
  font-size: .625rem;
  letter-spacing: 0.0625rem;
  margin: 1rem 0 .5rem;
  padding: 0; }
  @media (min-width: 576px) {
    .rbt-menu .dropdown-header {
      border-bottom: 0.25rem solid #F5F4F7;
      margin-top: 0;
      margin-bottom: 0.875rem;
      padding: 1.25rem 0 .75rem; } }

.rbt-input-main {
  min-height: calc(calc(1.28em + 2rem + 2px) - 20/16*1rem); }

.rbt-input {
  flex: none; }

.rbt-menu > .dropdown-item {
  padding: 0 .25rem;
  margin-top: .25rem;
  white-space: normal;
  color: inherit; }
  @media (min-width: 576px) {
    .rbt-menu > .dropdown-item {
      margin-top: 0;
      padding: .25rem 1.75rem; } }

.rbt-menu .dropdown-item.active {
  background: #F5F4F7; }

.rbt-menu__category-title {
  text-transform: uppercase;
  font-family: "Montserrat-Bold", sans-serif; }
  @media (max-width: 767.98px) {
    .rbt-menu__category-title {
      font-size: 1rem; } }

.rbt-menu__category-link {
  font-family: "Montserrat-Bold", sans-serif; }

.dropdown-item .rbt-highlight-text {
  color: #999999;
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400; }

.rbt-token {
  background: #999999;
  color: #181818;
  border-radius: 1.25rem;
  padding: 0.5rem 1.875rem 0.5rem 1.125rem;
  margin-right: 0.625rem; }

.rbt-token .rbt-token-remove-button {
  right: 0.375rem;
  top: 0.25rem;
  font-size: 1.25rem; }

.rbt__form-icon {
  color: rgba(40, 40, 40, 0.998);
  position: absolute;
  left: 0.625rem;
  top: 0.875rem; }
  @media (min-width: 768px) {
    .rbt__form-icon {
      left: 1.875rem; } }

@media (max-width: 991.98px) {
  .rbt-aux {
    display: block;
    top: .9rem; } }

.modal-header {
  background: #0099CC;
  color: #fff;
  justify-content: center;
  position: relative;
  padding-right: 1.875rem;
  padding-left: 1.875rem; }
  @media (min-width: 768px) {
    .modal-header {
      padding-right: 3.75rem;
      padding-left: 3.75rem; } }

.modal-header .modal-title {
  line-height: 1; }

.modal-body {
  padding: 1.875rem 1.25rem; }
  @media (min-width: 768px) {
    .modal-body {
      padding: 2.5rem 1.875rem; } }

.modal-header .close {
  position: absolute;
  color: #fff;
  right: 0;
  top: 50%;
  transform: translateY(-53%);
  opacity: 1;
  margin: 0;
  padding: 0.75rem; }

.modal-header .close:hover {
  opacity: 1; }

.modal-dialog-scrollable .modal-content {
  overflow: visible; }

@media (min-width: 768px) {
  .modal-body--max-height {
    max-height: 56vh; } }

/* Increase the specify to override the default styling */
.react-select .react-select__control {
  padding: calc(1rem - 4px) 1.25rem;
  line-height: 1.28; }

.react-select--sm .react-select__control {
  padding: calc(0.5rem - 4px) 0.75rem;
  line-height: 1.28; }

.react-select .react-select__value-container {
  flex-wrap: nowrap;
  padding: 0; }

.react-select .react-select__placeholder {
  color: #989898; }

.react-select .react-select__single-value,
.react-select .react-select__indicator {
  color: currentColor; }

.react-select .react-select__indicator {
  padding: .5rem;
  margin: -.5rem; }

.react-select .react-select__indicator-separator {
  display: none; }

.react-select--secondary .react-select__control {
  background-color: #999999;
  color: rgba(40, 40, 40, 0.998);
  border: 1px solid rgba(40, 40, 40, 0.3); }

.react-select--secondary .react-select__control:hover,
.react-select--secondary .react-select__control--menu-is-open {
  border-color: rgba(40, 40, 40, 0.3); }

.react-select--secondary .react-select__placeholder {
  color: rgba(40, 40, 40, 0.5); }

.react-select--secondary .react-select__input,
.react-select--secondary .react-select__value-container--has-value {
  color: rgba(40, 40, 40, 0.998); }

.react-select--secondary .react-select__clear-indicator,
.react-select--secondary .react-select__dropdown-indicator {
  color: rgba(40, 40, 40, 0.5); }

.react-select--secondary .react-select__clear-indicator:hover,
.react-select--secondary .react-select__dropdown-indicator:hover {
  color: currentColor; }

.react-select--secondary .react-select__multi-value {
  border-radius: 0.375rem;
  background-color: rgba(40, 40, 40, 0.998);
  color: #ffffff;
  overflow: hidden; }

.react-select--secondary .react-select__multi-value__label,
.react-select--secondary .react-select__multi-value__remove {
  color: inherit; }

.react-select--secondary .react-select__multi-value__remove:hover,
.react-select--secondary .react-select__multi-value__remove:focus,
.react-select--secondary .react-select__multi-value__remove:active {
  background-color: rgba(40, 40, 40, 0.7);
  color: #ffffff; }

.react-select--secondary .react-select__menu {
  background-color: #999999;
  color: rgba(40, 40, 40, 0.5); }

.react-select--secondary .react-select__option {
  background-color: #999999;
  color: rgba(40, 40, 40, 0.7); }

.react-select--secondary .react-select__option--is-focused {
  background-color: #004d66;
  color: #fff; }

.react-select--secondary .react-select__option--is-selected,
.react-select--secondary .react-select__option:active {
  background-color: #0099CC;
  color: #fff; }

.react-select .react-select__control--is-disabled {
  background: transparent;
  opacity: .7; }

.leaflet-container {
  position: relative;
  z-index: 1;
  min-height: 300px; }

.leaflet-marker-icon {
  background: transparent;
  border: none; }
  .leaflet-marker-icon svg {
    height: 2rem;
    fill: #0099CC; }

path.leaflet-interactive {
  stroke: #0099CC; }

path.leaflet-interactive:not([fill="none"]) {
  fill: #0099CC; }

.data-table-container {
  width: 0;
  min-width: 100%; }

.data-table {
  max-height: 60vh;
  font-size: 0.75rem;
  position: relative;
  -webkit-overflow-scrolling: touch; }
  @media (min-width: 768px) {
    .data-table::-webkit-scrollbar-track {
      border-radius: 0.375rem;
      -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
      background-color: rgba(232, 232, 232, 0.3);
      transition: all 120ms ease; }
    .data-table::-webkit-scrollbar {
      border-radius: 0.375rem;
      width: 0.375rem;
      height: 0.375rem;
      background-color: rgba(232, 232, 232, 0.1);
      transition: all 120ms ease; }
    .data-table::-webkit-scrollbar-thumb {
      border-radius: 0.375rem;
      background-color: rgba(40, 40, 40, 0.3);
      transition: all 120ms ease; }
    .data-table:hover::-webkit-scrollbar-track {
      background-color: rgba(232, 232, 232, 0.9); }
    .data-table:hover::-webkit-scrollbar {
      background-color: rgba(232, 232, 232, 0.9); }
    .data-table:hover::-webkit-scrollbar-thumb {
      background-color: rgba(40, 40, 40, 0.9); } }

.data-table__settings {
  width: 3.75rem; }

.data-table p {
  min-width: 15.625rem; }

.data-table thead th {
  background: #fff;
  position: sticky;
  top: 0;
  /* Don't forget this, required for the stickiness */
  z-index: 2;
  box-shadow: 0.25rem 0 0.25rem 0 rgba(0, 0, 0, 0.3);
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  color: rgba(40, 40, 40, 0.998); }

.data-table thead th,
.data-table tbody td,
.data-table tbody th {
  padding: 0.625rem; }

.data-table__img {
  min-width: 5.875rem;
  width: 5.875rem; }

.notification-list {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 10;
  box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.3);
  background: #fff;
  color: #181818;
  transition: transform 120ms ease-in-out, opacity 120ms ease-in-out;
  opacity: .95; }
  @media (min-width: 768px) {
    .notification-list {
      left: auto;
      right: 1.25rem;
      bottom: 1.25rem;
      width: 21.875rem; } }

.notification-list.is-open,
.notification-list:hover {
  opacity: 1; }

.notification-list--enter-active,
.notification-list--enter-done {
  transform: none;
  opacity: .95; }

.notification-list--appear-active {
  transform: translateX(100%);
  opacity: 0; }

.notification-list__header {
  display: flex;
  padding: 0.625rem;
  padding-right: 2.5rem;
  cursor: pointer;
  border-bottom: 0.0625rem solid #E8E8E8;
  font-size: 0.625rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase; }

.notification-list__header:hover {
  color: #0099CC; }

.notification-list__header__collapse {
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 200ms ease-in-out; }

.is-open .notification-list__header__collapse {
  transform: translateY(-50%) rotate(180deg); }

.notification-list__body {
  max-height: 75vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  @media (min-width: 768px) {
    .notification-list__body::-webkit-scrollbar-track {
      border-radius: 0.375rem;
      -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
      background-color: rgba(232, 232, 232, 0.3);
      transition: all 120ms ease; }
    .notification-list__body::-webkit-scrollbar {
      border-radius: 0.375rem;
      width: 0.375rem;
      height: 0.375rem;
      background-color: rgba(232, 232, 232, 0.1);
      transition: all 120ms ease; }
    .notification-list__body::-webkit-scrollbar-thumb {
      border-radius: 0.375rem;
      background-color: rgba(40, 40, 40, 0.3);
      transition: all 120ms ease; }
    .notification-list__body:hover::-webkit-scrollbar-track {
      background-color: rgba(232, 232, 232, 0.9); }
    .notification-list__body:hover::-webkit-scrollbar {
      background-color: rgba(232, 232, 232, 0.9); }
    .notification-list__body:hover::-webkit-scrollbar-thumb {
      background-color: rgba(40, 40, 40, 0.9); } }
  @media (min-width: 768px) {
    .notification-list__body {
      margin: 0.3125rem 0.3125rem 0.3125rem 0; } }

.notification-list li {
  overflow: hidden; }

.notification {
  padding: 0.625rem;
  font-size: 0.75rem;
  position: relative;
  transition: transform 2000ms ease-in-out, opacity 2000ms ease-in-out; }
  @media (min-width: 768px) {
    .notification {
      padding: 0.625rem 0.4375rem 0.625rem 0.625rem; } }

.notification:not(:first-child) {
  border-top: 0.125rem solid #E8E8E8; }

.notification__delete {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
  padding: 0.5rem; }

.notification__content {
  padding-left: 1.375rem; }

.notification__icon {
  position: absolute;
  left: -1.25rem;
  top: 0.1875rem; }

.notification--appear-active {
  transform: translateY(50%);
  opacity: .8; }

.notification--enter-active {
  transform: translateY(0);
  opacity: 1; }

.notification--exit,
.notification--exit-active {
  background: red !important;
  opacity: .8;
  transform: translateY(-50%) !important; }

.alert:empty {
  display: none; }

.alert-light {
  background: #e7e5ec;
  border-color: #e7e5ec;
  color: inherit; }

.options-toggle {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.625rem;
  z-index: 2; }

.wysiwyg a {
  font-family: "Montserrat-Bold", sans-serif;
  font-weight: 400;
  color: #0099CC; }

.content-block + .content-block,
.content-block + .pimcore_area_content > .content-block,
.pimcore_area_content + .pimcore_area_content > .content-block {
  margin-top: 1.875rem; }
  @media (min-width: 768px) {
    .content-block + .content-block,
    .content-block + .pimcore_area_content > .content-block,
    .pimcore_area_content + .pimcore_area_content > .content-block {
      margin-top: 2.5rem; } }

.data-type__value {
  width: 75%; }

.data-type__label {
  margin-bottom: 0.3125rem;
  color: #989898;
  font-size: 0.75rem; }

.data-type a {
  display: block; }

.data-type--block__item {
  margin-top: 24px; }

.data-type--block__item:first-of-type {
  margin-top: 0; }

.drop-zone {
  border: 2px dashed #0099CC;
  border-radius: 0.375rem;
  padding: 3rem;
  background: white; }

.drop-zone:focus,
.drop-zone:active,
.drop-zone--drag-active {
  border-style: solid;
  outline: none; }

.drop-zone__selection {
  margin-bottom: 1rem;
  text-align: center; }

.drop-zone__selection-list {
  margin-bottom: 0; }

.drop-zone__label {
  color: #989898;
  margin-bottom: 0;
  text-align: center; }

.drop-zone--drag-active .drop-zone__label {
  color: #181818; }

/* drop-zone--disabled */
/* drop-zone--invisible */
.drop-zone--invisible {
  position: relative;
  border-color: transparent;
  padding: 0.5rem;
  margin: calc(-0.5rem - 2px); }

.drop-zone--invisible.drop-zone--drag-active {
  border: 2px dashed #0099CC; }

.drop-zone--invisible.drop-zone--drag-active.drop-zone--disabled {
  border: 2px dashed #BCBCBC; }

.drop-zone--invisible .drop-zone__label {
  position: sticky;
  top: 40%;
  margin: auto;
  pointer-events: none;
  color: #181818;
  font-family: "Montserrat-Bold", sans-serif;
  z-index: 1;
  font-size: 1.25rem;
  max-width: 50%;
  display: none;
  height: 0; }

.drop-zone--invisible.drop-zone--drag-active .drop-zone__label {
  display: block; }

.drop-zone--invisible.drop-zone--drag-active .drop-zone__children {
  opacity: .3; }

.react-datepicker__input-container, .react-datepicker-wrapper {
  display: block; }

.login {
  height: 100vh;
  background: #000;
  color: #fff; }

.login__content__logo {
  width: 8.75rem; }
  @media (min-width: 768px) {
    .login__content__logo {
      width: 18.75rem; } }

.login__content {
  max-width: 30rem;
  width: 100%;
  height: 100vh;
  padding: 1.875rem;
  background: rgba(0, 0, 0, 0.87);
  position: relative; }
  @media (min-width: 768px) {
    .login__content {
      background: #000;
      padding: 8.75rem 5.625rem 1.25rem; } }

.login__content__title {
  font-size: 1.25rem; }

.login__bg {
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
  width: 100vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media (min-width: 768px) {
    .login__bg {
      width: calc(100vw - 480/16*1rem); } }

.login a {
  text-decoration: underline; }

.pimcore-workflow-place-indicator {
  color: #fff;
  margin-right: 0.3rem;
  padding: 0.15em 0.7em;
  margin-top: 0.2em;
  margin-bottom: 0.7em;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4rem;
  display: inline-block;
  border-radius: 0.375rem; }

.workflow-label {
  margin-bottom: 0.2em; }

.btn-workflow-action {
  margin-bottom: 0.7em;
  margin-right: 0.7em; }

.selection-indicator {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.0625rem solid #BCBCBC;
  background: transparent;
  border-radius: 50%;
  z-index: 1;
  padding: 0; }

.selection-indicator:hover {
  background: rgba(131, 216, 101, 0.5); }

.selection-indicator.is-selected {
  background: #83D865; }

.selection-indicator--in-text {
  vertical-align: -0.43em; }

.selection-indicator {
  /* increase z-index to put it above teaser-options */
  z-index: 2; }

/* Helpers */
.increased-area--2 {
  padding: 0.5rem;
  margin: -0.5rem; }

.increased-area--3 {
  padding: 1rem;
  margin: -1rem; }

.bg-light {
  background-color: #F5F4F7 !important;
  /*override bootstrap*/ }

.clickable {
  cursor: pointer; }

.icon-in-text {
  vertical-align: -.1em; }

.icon-light {
  fill: #e7e5ec; }
  .icon-light svg {
    fill: inherit; }

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

.position-absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.vertical-gutter {
  margin-top: -24px; }

.vertical-gutter > .vertical-gutter__item:not(:empty),
.vertical-gutter > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 24px; }

.vertical-gutter--0 {
  margin-top: 0; }

.vertical-gutter--0 > .vertical-gutter__item:not(:empty),
.vertical-gutter--0 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 0; }

.vertical-gutter--1 {
  margin-top: -0.25rem; }

.vertical-gutter--1 > .vertical-gutter__item:not(:empty),
.vertical-gutter--1 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 0.25rem; }

.vertical-gutter--2 {
  margin-top: -0.5rem; }

.vertical-gutter--2 > .vertical-gutter__item:not(:empty),
.vertical-gutter--2 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 0.5rem; }

.vertical-gutter--3 {
  margin-top: -1rem; }

.vertical-gutter--3 > .vertical-gutter__item:not(:empty),
.vertical-gutter--3 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 1rem; }

.vertical-gutter--4 {
  margin-top: -1.5rem; }

.vertical-gutter--4 > .vertical-gutter__item:not(:empty),
.vertical-gutter--4 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 1.5rem; }

.vertical-gutter--5 {
  margin-top: -3rem; }

.vertical-gutter--5 > .vertical-gutter__item:not(:empty),
.vertical-gutter--5 > img.vertical-gutter__item {
  /* because img elements are always empty*/
  margin-top: 3rem; }

.vertical-gutter .vertical-gutter__item .vertical-gutter:not(.card-body) {
  padding-top: 0.03125rem; }

.row-gutter--0 {
  margin-left: 0;
  margin-right: 0; }
  .row-gutter--0 > [class^="col"],
  .row-gutter--0 > [class*=" col"] {
    padding-left: 0;
    padding-right: 0; }

.row-gutter--1 {
  margin-left: -0.125rem;
  margin-right: -0.125rem; }
  .row-gutter--1 > [class^="col"],
  .row-gutter--1 > [class*=" col"] {
    padding-left: 0.125rem;
    padding-right: 0.125rem; }

.row-gutter--2 {
  margin-left: -0.25rem;
  margin-right: -0.25rem; }
  .row-gutter--2 > [class^="col"],
  .row-gutter--2 > [class*=" col"] {
    padding-left: 0.25rem;
    padding-right: 0.25rem; }

.row-gutter--3 {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .row-gutter--3 > [class^="col"],
  .row-gutter--3 > [class*=" col"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }

.row-gutter--4 {
  margin-left: -0.75rem;
  margin-right: -0.75rem; }
  .row-gutter--4 > [class^="col"],
  .row-gutter--4 > [class*=" col"] {
    padding-left: 0.75rem;
    padding-right: 0.75rem; }

.row-gutter--5 {
  margin-left: -1.5rem;
  margin-right: -1.5rem; }
  .row-gutter--5 > [class^="col"],
  .row-gutter--5 > [class*=" col"] {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }

.scroll-area {
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  @media (min-width: 768px) {
    .scroll-area::-webkit-scrollbar-track {
      border-radius: 0.375rem;
      -webkit-box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.3);
      background-color: rgba(232, 232, 232, 0.3);
      transition: all 120ms ease; }
    .scroll-area::-webkit-scrollbar {
      border-radius: 0.375rem;
      width: 0.375rem;
      height: 0.375rem;
      background-color: rgba(232, 232, 232, 0.1);
      transition: all 120ms ease; }
    .scroll-area::-webkit-scrollbar-thumb {
      border-radius: 0.375rem;
      background-color: rgba(40, 40, 40, 0.3);
      transition: all 120ms ease; }
    .scroll-area:hover::-webkit-scrollbar-track {
      background-color: rgba(232, 232, 232, 0.9); }
    .scroll-area:hover::-webkit-scrollbar {
      background-color: rgba(232, 232, 232, 0.9); }
    .scroll-area:hover::-webkit-scrollbar-thumb {
      background-color: rgba(40, 40, 40, 0.9); } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguc2NzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vL3NldHRpbmdzL2ZvbnQtZmFjZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vd2ViL3BvcnRhbC1lbmdpbmUvd2FuemxfcG9ydGFsL3N0eWxlcy9zZXR0aW5ncy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtZGF0ZXBpY2tlci9zcmMvc3R5bGVzaGVldHMvZGF0ZXBpY2tlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtZGF0ZXBpY2tlci9zcmMvc3R5bGVzaGVldHMvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1kYXRlcGlja2VyL3NyYy9zdHlsZXNoZWV0cy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvYmFzZS10eXBvLnNjc3MiLCJ3ZWJwYWNrOi8vL3NldHRpbmdzL2Jhc2UtbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvZnVsbC1oZWlnaHQtbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbG9hZGluZy1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy90ZWFzZXItZ3JpZC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ljb24tYnRuLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvc2lkZWJhci1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vbWl4aW5zL3Njcm9sbGJhci5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ZpbHRlci1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vd2ViL3BvcnRhbC1lbmdpbmUvd2FuemxfcG9ydGFsL3N0eWxlcy9jb21wb25lbnRzL2ZpbHRlci1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnRuLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnRuLXJvdy5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3RlYXNlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi93ZWIvcG9ydGFsLWVuZ2luZS93YW56bF9wb3J0YWwvc3R5bGVzL2NvbXBvbmVudHMvdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbGlzdC10ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLS1sZXZlbC0wLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci0tbGV2ZWwtMS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLW1vYmlsZS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21haW4tZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3dlYi9wb3J0YWwtZW5naW5lL3dhbnpsX3BvcnRhbC9zdHlsZXMvY29tcG9uZW50cy9tYWluLWZvb3Rlci5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2Zvcm0tY29udHJvbC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2Zvcm0tY29udHJvbC1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY3VzdG9tLWNoZWNrYm94LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY3VzdG9tLXJhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY2FyZC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ZpZWxkc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbmF2LXRhYnMuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9uYXYtcGlsbHMuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9pbWFnZS10ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tZWRpYS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NvbnRlbnQtdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2FjdGlvbi1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vd2ViL3BvcnRhbC1lbmdpbmUvd2FuemxfcG9ydGFsL3N0eWxlcy9jb21wb25lbnRzL2FjdGlvbi1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zdGF0ZS1jaXJjbGUuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zZWxlY3Rpb24tYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvcmVzdWx0LWluZm8uc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvaW1hZ2UtaG90c3BvdC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ltYWdlLW1hcmtlci5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ltYWdlLWdhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9rZXktdmFsdWUtaXRlbS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy90cmVlLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2JsdXItaW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy90eXBlYWhlYWQuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tb2RhbC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3JlYWN0LXNlbGVjdC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2xlYWZsZXQuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9kYXRhLXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9hbGVydC5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL29wdGlvbnMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvd3lzaXd5Zy5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NvbnRlbnQtYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9kYXRhLXR5cGUuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9kcm9wLXpvbmUuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9kYXRlLXBpY2tlci5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvd29ya2Zsb3cuc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zZWxlY3Rpb24taW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3dlYi9wb3J0YWwtZW5naW5lL3dhbnpsX3BvcnRhbC9zdHlsZXMvY29tcG9uZW50cy9zZWxlY3Rpb24taW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vL2hlbHBlci5zY3NzIiwid2VicGFjazovLy9vYmplY3RzL3ZlcnRpY2FsLWd1dHRlci5zY3NzIiwid2VicGFjazovLy9vYmplY3RzL3Jvdy0tZ3V0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vL29iamVjdHMvc2Nyb2xsLWFyZWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQzZDQTtBQUVBO0FDL0NBO0VBQ0ksaUNBQWlDO0VBQ2pDLGdHQUN5RDtFQUN6RCxtQkFBbUI7RUFDbkIsa0JBQWtCOztBQUd0QjtFQUNJLDhCQUE4QjtFQUM5QixnR0FDc0Q7RUFDdEQsbUJBQW1CO0VBQ25CLGtCQUFrQjs7QUZQdEI7QUdOQTs7Ozs7RUh3QkU7QUl4QkY7RUFHSSxlQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGVB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QUNkLFdBQVc7RUFDWCxlQUFlO0VBQ2YsVUFBVTtFQUNWLG9CQUFvQjtFQzlPaEIsaUJBQVc7RURnUGYsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxtQkFBbUI7O0FBR3JCO0VBQ0Usd0JBQXdCOztBTDdJMUI7O0VLbUpFLFlBQVk7O0FML0lkO0VLdUpFLG9CQUFvQjtFQUNwQix3QkFBd0I7O0FMcEoxQjtFSzRKRSx3QkFBd0I7O0FBUTFCO0VBQ0UsYUFBYTtFQUNiLDBCQUEwQjs7QUFPNUI7RUFDRSxxQkFBcUI7O0FBR3ZCO0VBQ0Usa0JBQWtCO0VBQ2xCLGVBQWU7O0FBR2pCO0VBQ0UsYUFBYTs7QUx0S2Y7RUs0S0Usd0JBQXdCOztBSTVkMUI7O0VBRUUscUJGc1N3QztFRXJTeEMsMENSRzhDO0VRRjlDLGdCUkdvQjtFUUZwQixnQkZzUytCOztBRWxTakM7RUhxS00sbUJBQVc7O0FHcEtqQjtFSG9LTSxrQkFBVzs7QUduS2pCO0VIbUtNLG1CQUFXOztBR2xLakI7RUhrS00sbUJBQVc7O0FHaktqQjtFSGlLTSxlQUFXOztBR2hLakI7RUhnS00sb0JBQVc7O0FHOUpqQjtFSDhKTSxrQkFBVztFRzVKZixnQkZ3UytCOztBRXBTakM7RUh3Sk0sZUFBVztFR3RKZixnQkYyUitCO0VFMVIvQixnQkZrUitCOztBRWhSakM7RUhtSk0saUJBQVc7RUdqSmYsZ0JGdVIrQjtFRXRSL0IsZ0JGNlErQjs7QUUzUWpDO0VIOElNLGlCQUFXO0VHNUlmLGdCRm1SK0I7RUVsUi9CLGdCRndRK0I7O0FFdFFqQztFSHlJTSxpQkFBVztFR3ZJZixnQkYrUStCO0VFOVEvQixnQkZtUStCOztBRnRPakM7RUlwQkUsZ0JGZ0ZXO0VFL0VYLG1CRitFVztFRTlFWCxTQUFTO0VBQ1Qsd0NSeEJVOztBUWdDWjs7RUhrR0ksa0JBQVc7RUcvRmIsZ0JGMk4rQjs7QUV4TmpDOztFQUVFLGNGbVFnQztFRWxRaEMseUJGMlFtQzs7QUVuUXJDO0VDL0VFLGVBQWU7RUFDZixnQkFBZ0I7O0FEbUZsQjtFQ3BGRSxlQUFlO0VBQ2YsZ0JBQWdCOztBRHNGbEI7RUFDRSxxQkFBcUI7RUFEdkI7SUFJSSxvQkZxUCtCOztBRTNPbkM7RUgyREksY0FBVztFR3pEYix5QkFBeUI7O0FBSTNCO0VBQ0UsbUJGdUJXO0VENkNQLGtCQUFXOztBR2hFakI7RUFDRSxjQUFjO0VIK0NaLGtCQUFXO0VHN0NiLGNSN0VnQjtFUTBFbEI7SUFNSSxxQkFBcUI7O0FFbkh6QjtFQ0lFLGVBQWU7RUFHZixZQUFZOztBRERkO0VBQ0Usa0JWb0cyQztFVW5HM0Msc0JKUmE7RUlTYix5QlZ1QmdCO0VZckJkLHVCWmtDcUI7RVd6Q3ZCLGVBQWU7RUFHZixZQUFZOztBRGNkO0VBRUUscUJBQXFCOztBQUd2QjtFQUNFLHFCQUEyQjtFQUMzQixjQUFjOztBQUdoQjtFTDhISSxjQUFXO0VLNUhiLGNWRWdCOztBYXpDbEI7RVJtS0ksZ0JBQVc7RVFqS2IsY1BtQ2U7RU9sQ2YscUJBQXFCO0VBR3JCO0lBQ0UsY0FBYzs7QUFLbEI7RUFDRSxzQlAwbEN1QztFRHA4QnJDLGdCQUFXO0VRcEpiLFdQVGE7RU9VYix5QmI2QmdCO0VZNUJkLHVCWm9Dd0I7RWF6QzVCO0lBU0ksVUFBVTtJUjhJVixlQUFXO0lRNUlYLGdCYlhrQjs7QUltTnRCO0VTak1FLGNBQWM7RVJxSVosZ0JBQVc7RVFuSWIsY2JhZ0I7RWFoQmxCO0lSc0lJLGtCQUFXO0lROUhYLGNBQWM7SUFDZCxrQkFBa0I7O0FBS3RCO0VBQ0UsaUJQaWtDdUM7RU9oa0N2QyxrQkFBa0I7O0FDeENsQjs7Ozs7O0VDREEsV0FBVztFQUNYLG1CQUEyQjtFQUMzQixrQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLGlCQUFpQjs7QUNtRGY7RUZ6Q0U7SUFDRSxpQmRuQmdCLEljb0JqQjs7QUV1Q0g7RUZ6Q0U7SUFDRSxpQmRuQmdCLEljb0JqQjs7QUV1Q0g7RUZ6Q0U7SUFDRSxpQmRuQmdCLEljb0JqQjs7QUV1Q0g7RUZ6Q0U7SUFDRSxpQmRuQmdCLEljb0JqQjs7QUEyQkw7RUNuQ0EsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBMkI7RUFDM0Isa0JBQTBCOztBRHNDMUI7RUFDRSxlQUFlO0VBQ2YsY0FBYztFQUZoQjs7SUFNSSxnQkFBZ0I7SUFDaEIsZUFBZTs7QUd0RG5COzs7Ozs7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLG1CQUEyQjtFQUMzQixrQkFBMEI7O0FBc0J4QjtFQUNFLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZTs7QUFLYjtFRndCTixjVnVCcUQ7RVV0QnJELGVWc0JxRDs7QVkvQy9DO0VGd0JOLGFWdUJxRDtFVXRCckQsY1ZzQnFEOztBWS9DL0M7RUZ3Qk4sbUJWdUJxRDtFVXRCckQsb0JWc0JxRDs7QVkvQy9DO0VGd0JOLGFWdUJxRDtFVXRCckQsY1ZzQnFEOztBWS9DL0M7RUZ3Qk4sYVZ1QnFEO0VVdEJyRCxjVnNCcUQ7O0FZL0MvQztFRndCTixtQlZ1QnFEO0VVdEJyRCxvQlZzQnFEOztBWXpDbkQ7RUZDSixjQUFjO0VBQ2QsV0FBVztFQUNYLGVBQWU7O0FFR1A7RUZiUixrQkFBNkM7RUFJN0MsbUJBQThDOztBRVN0QztFRmJSLG1CQUE2QztFQUk3QyxvQkFBOEM7O0FFU3RDO0VGYlIsYUFBNkM7RUFJN0MsY0FBOEM7O0FFU3RDO0VGYlIsbUJBQTZDO0VBSTdDLG9CQUE4Qzs7QUVTdEM7RUZiUixtQkFBNkM7RUFJN0Msb0JBQThDOztBRVN0QztFRmJSLGFBQTZDO0VBSTdDLGNBQThDOztBRVN0QztFRmJSLG1CQUE2QztFQUk3QyxvQkFBOEM7O0FFU3RDO0VGYlIsbUJBQTZDO0VBSTdDLG9CQUE4Qzs7QUVTdEM7RUZiUixhQUE2QztFQUk3QyxjQUE4Qzs7QUVTdEM7RUZiUixtQkFBNkM7RUFJN0Msb0JBQThDOztBRVN0QztFRmJSLG1CQUE2QztFQUk3QyxvQkFBOEM7O0FFU3RDO0VGYlIsY0FBNkM7RUFJN0MsZUFBOEM7O0FFZTFDO0VBQXdCLFNBQVM7O0FBRWpDO0VBQXVCLFNYbUtHOztBV2hLeEI7RUFBd0IsUUFEWjs7QUFDWjtFQUF3QixRQURaOztBQUNaO0VBQXdCLFFBRFo7O0FBQ1o7RUFBd0IsUUFEWjs7QUFDWjtFQUF3QixRQURaOztBQUNaO0VBQXdCLFFBRFo7O0FBQ1o7RUFBd0IsUUFEWjs7QUFDWjtFQUF3QixRQURaOztBQUNaO0VBQXdCLFFBRFo7O0FBQ1o7RUFBd0IsUUFEWjs7QUFDWjtFQUF3QixTQURaOztBQUNaO0VBQXdCLFNBRFo7O0FBQ1o7RUFBd0IsU0FEWjs7QUFRUjtFRmhCVixxQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixnQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixnQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixnQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FFZ0JwQztFRmhCVixzQkFBOEM7O0FDSzVDO0VDM0JFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0VBS2I7SUZ3Qk4sY1Z1QnFEO0lVdEJyRCxlVnNCcUQ7RVkvQy9DO0lGd0JOLGFWdUJxRDtJVXRCckQsY1ZzQnFEO0VZL0MvQztJRndCTixtQlZ1QnFEO0lVdEJyRCxvQlZzQnFEO0VZL0MvQztJRndCTixhVnVCcUQ7SVV0QnJELGNWc0JxRDtFWS9DL0M7SUZ3Qk4sYVZ1QnFEO0lVdEJyRCxjVnNCcUQ7RVkvQy9DO0lGd0JOLG1CVnVCcUQ7SVV0QnJELG9CVnNCcUQ7RVl6Q25EO0lGQ0osY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0VFR1A7SUZiUixrQkFBNkM7SUFJN0MsbUJBQThDO0VFU3RDO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFRVN0QztJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0VFU3RDO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFRVN0QztJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RUVTdEM7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFRVN0QztJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RUVTdEM7SUZiUixtQkFBNkM7SUFJN0Msb0JB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RUVnQnBDO0lGaEJWLGdCQUE4QztFRWdCcEM7SUZoQlYsc0JBQThDO0VFZ0JwQztJRmhCVixzQkFBOEM7RUVnQnBDO0lGaEJWLGdCQUE4QztFRWdCcEM7SUZoQlYsc0JBQThDO0VFZ0JwQztJRmhCVixzQkFBOEM7RUVnQnBDO0lGaEJWLGdCQUE4QztFRWdCcEM7SUZoQlYsc0JBQThDO0VFZ0JwQztJRmhCVixzQkFBOEMsSUVrQm5DOztBRGJUO0VDM0JFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0VBS2I7SUZ3Qk4sY1Z1QnFEO0lVdEJyRCxlVnNCcUQ7RVkvQy9DO0lGd0JOLGFWdUJxRDtJVXRCckQsY1ZzQnFEO0VZL0MvQztJRndCTixtQlZ1QnFEO0lVdEJyRCxvQlZzQnFEO0VZL0MvQztJRndCTixhVnVCcUQ7SVV0QnJELGNWc0JxRDtFWS9DL0M7SUZ3Qk4sYVZ1QnFEO0lVdEJyRCxjVnNCcUQ7RVkvQy9DO0lGd0JOLG1CVnVCcUQ7SVV0QnJELG9CVnNCcUQ7RVl6Q25EO0lGQ0osY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0VFR1A7SUZiUixrQkFBNkM7SUFJN0MsbUJBQThDO0VFU3RDO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFRVN0QztJRmJSLGFBQTZDO0lBSTdDLGNBQThDO0VFU3RDO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFRVN0QztJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RUVTdEM7SUZiUixhQUE2QztJQUk3QyxjQUE4QztFRVN0QztJRmJSLG1CQUE2QztJQUk3QyxvQkFBOEM7RUVTdEM7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VFU3RDO0lGYlIsYUFBNkM7SUFJN0MsY0FBOEM7RUVTdEM7SUZiUixtQkFBNkM7SUFJN0Msb0JBQThDO0VFU3RDO0lGYlIsbUJBQTZDO0lBSTdDLG9CQUE4QztFRVN0QztJRmJSLGNBQTZDO0lBSTdDLGVBQThDO0VFZTFDO0lBQXdCLFNBQVM7RUFFakM7SUFBdUIsU1htS0c7RVdoS3hCO0lBQXdCLFFBRFo7RUFDWjtJQUF3QixR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RjtJQWdCcEYsa0JBaEJ5SDtJQXFCdkgsaURBQWlGO0VBS3JGO0lBRUUsYzNCYWM7STJCWmQseUJIL0JlO0lHZ0NmLHFCSGhDZTtFR3VDakI7O0lBR0UsV3JCdENXO0lxQnVDWCxzQkF6Q3VLO0lBNkN2SyxxQkE3QytNO0lBK0MvTTs7TUFLSSxpREFBaUY7O0FEUXZGO0VDM0RBLGMzQndDZ0I7RXlCeENkLHlCekI2QmE7RTJCM0JmLHFCM0IyQmU7RU92QmY7SW9CQUUsYzNCa0NjO0l5QnhDZCx5QkVEb0Y7SUFTcEYscUJBVHlIO0VBWTNIO0lBRUUsYzNCMkJjO0l5QnhDZCx5QkVEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILGdEQUFpRjtFQUtyRjtJQUVFLGMzQmFjO0kyQlpkLHlCM0JDYTtJMkJBYixxQjNCQWE7RTJCT2Y7O0lBR0UsYzNCQ2M7STJCQWQseUJBekN1SztJQTZDdksscUJBN0MrTTtJQStDL007O01BS0ksZ0RBQWlGOztBRFF2RjtFQzNEQSxXckJDYTtFbUJEWCx5Qm5Cc0NhO0VxQnBDZixxQnJCb0NlO0VDaENmO0lvQkFFLFdyQkxXO0ltQkRYLHlCRURvRjtJQVNwRixxQkFUeUg7RUFZM0g7SUFFRSxXckJaVztJbUJEWCx5QkVEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILGdEQUFpRjtFQUtyRjtJQUVFLFdyQjFCVztJcUIyQlgseUJyQlVhO0lxQlRiLHFCckJTYTtFcUJGZjs7SUFHRSxXckJ0Q1c7SXFCdUNYLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK007SUErQy9NOztNQUtJLGdEQUFpRjs7QURRdkY7RUMzREEsYzNCd0NnQjtFeUJ4Q2QseUJuQm1DYTtFcUJqQ2YscUJyQmlDZTtFQzdCZjtJb0JBRSxjM0JrQ2M7SXlCeENkLHlCRURvRjtJQVNwRixxQkFUeUg7RUFZM0g7SUFFRSxjM0IyQmM7SXlCeENkLHlCRURvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGO0VBS3JGO0lBRUUsYzNCYWM7STJCWmQseUJyQk9hO0lxQk5iLHFCckJNYTtFcUJDZjs7SUFHRSxjM0JDYztJMkJBZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNO0lBK0MvTTs7TUFLSSxnREFBaUY7O0FEUXZGO0VDM0RBLFdyQkNhO0VtQkRYLHlCbkJpQ2E7RXFCL0JmLHFCckIrQmU7RUMzQmY7SW9CQUUsV3JCTFc7SW1CRFgseUJFRG9GO0lBU3BGLHFCQVR5SDtFQVkzSDtJQUVFLFdyQlpXO0ltQkRYLHlCRURvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsK0NBQWlGO0VBS3JGO0lBRUUsV3JCMUJXO0lxQjJCWCx5QnJCS2E7SXFCSmIscUJyQklhO0VxQkdmOztJQUdFLFdyQnRDVztJcUJ1Q1gseUJBekN1SztJQTZDdksscUJBN0MrTTtJQStDL007O01BS0ksK0NBQWlGOztBRFF2RjtFQzNEQSxjM0J3Q2dCO0V5QnhDZCx5QnpCMkJXO0UyQnpCYixxQjNCeUJhO0VPckJiO0lvQkFFLGMzQmtDYztJeUJ4Q2QseUJFRG9GO0lBU3BGLHFCQVR5SDtFQVkzSDtJQUVFLGMzQjJCYztJeUJ4Q2QseUJFRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxpREFBaUY7RUFLckY7SUFFRSxjM0JhYztJMkJaZCx5QjNCRFc7STJCRVgscUIzQkZXO0UyQlNiOztJQUdFLGMzQkNjO0kyQkFkLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK007SUErQy9NOztNQUtJLGlEQUFpRjs7QURRdkY7RUMzREEsV3JCQ2E7RW1CRFgseUNERnNCO0VHSXhCLHFDSEp3QjtFakJReEI7SW9CQUUsV3JCTFc7SW1CRFgseUNFRG9GO0lBU3BGLHFDQVR5SDtFQVkzSDtJQUVFLFdyQlpXO0ltQkRYLHlDRURvRjtJQWdCcEYscUNBaEJ5SDtJQXFCdkgsOENBQWlGO0VBS3JGO0lBRUUsV3JCMUJXO0lxQjJCWCx5Q0g5QnNCO0lHK0J0QixxQ0gvQnNCO0VHc0N4Qjs7SUFHRSxXckJ0Q1c7SXFCdUNYLHlDQXpDdUs7SUE2Q3ZLLGtDQTdDK007SUErQy9NOztNQUtJLDhDQUFpRjs7QURjdkY7RUNQQSxjSDlEZTtFRytEZixxQkgvRGU7RWpCVWY7SW9Cd0RFLFdyQjdEVztJcUI4RFgseUJIbkVhO0lHb0ViLHFCSHBFYTtFR3VFZjtJQUVFLCtDSHpFYTtFRzRFZjtJQUVFLGNIOUVhO0lHK0ViLDZCQUE2QjtFQUcvQjs7SUFHRSxXckJoRlc7SXFCaUZYLHlCSHRGYTtJR3VGYixxQkh2RmE7SUd5RmI7O01BS0ksK0NIOUZTOztBRXFFZjtFQ1BBLGNIN0RpQjtFRzhEakIscUJIOURpQjtFakJTakI7SW9Cd0RFLGMzQnRCYztJMkJ1QmQseUJIbEVlO0lHbUVmLHFCSG5FZTtFR3NFakI7SUFFRSxpREh4RWU7RUcyRWpCO0lBRUUsY0g3RWU7SUc4RWYsNkJBQTZCO0VBRy9COztJQUdFLGMzQnpDYztJMkIwQ2QseUJIckZlO0lHc0ZmLHFCSHRGZTtJR3dGZjs7TUFLSSxpREg3Rlc7O0FFb0VqQjtFQ1BBLGMzQjdCZTtFMkI4QmYscUIzQjlCZTtFT3ZCZjtJb0J3REUsYzNCdEJjO0kyQnVCZCx5QjNCbENhO0kyQm1DYixxQjNCbkNhO0UyQnNDZjtJQUVFLGlEM0J4Q2E7RTJCMkNmO0lBRUUsYzNCN0NhO0kyQjhDYiw2QkFBNkI7RUFHL0I7O0lBR0UsYzNCekNjO0kyQjBDZCx5QjNCckRhO0kyQnNEYixxQjNCdERhO0kyQndEYjs7TUFLSSxpRDNCN0RTOztBMEJvQ2Y7RUNQQSxjckJwQmU7RXFCcUJmLHFCckJyQmU7RUNoQ2Y7SW9Cd0RFLFdyQjdEVztJcUI4RFgseUJyQnpCYTtJcUIwQmIscUJyQjFCYTtFcUI2QmY7SUFFRSxnRHJCL0JhO0VxQmtDZjtJQUVFLGNyQnBDYTtJcUJxQ2IsNkJBQTZCO0VBRy9COztJQUdFLFdyQmhGVztJcUJpRlgseUJyQjVDYTtJcUI2Q2IscUJyQjdDYTtJcUIrQ2I7O01BS0ksZ0RyQnBEUzs7QW9CMkJmO0VDUEEsY3JCdkJlO0VxQndCZixxQnJCeEJlO0VDN0JmO0lvQndERSxjM0J0QmM7STJCdUJkLHlCckI1QmE7SXFCNkJiLHFCckI3QmE7RXFCZ0NmO0lBRUUsK0NyQmxDYTtFcUJxQ2Y7SUFFRSxjckJ2Q2E7SXFCd0NiLDZCQUE2QjtFQUcvQjs7SUFHRSxjM0J6Q2M7STJCMENkLHlCckIvQ2E7SXFCZ0RiLHFCckJoRGE7SXFCa0RiOztNQUtJLCtDckJ2RFM7O0FvQjhCZjtFQ1BBLGNyQnpCZTtFcUIwQmYscUJyQjFCZTtFQzNCZjtJb0J3REUsV3JCN0RXO0lxQjhEWCx5QnJCOUJhO0lxQitCYixxQnJCL0JhO0VxQmtDZjtJQUVFLCtDckJwQ2E7RXFCdUNmO0lBRUUsY3JCekNhO0lxQjBDYiw2QkFBNkI7RUFHL0I7O0lBR0UsV3JCaEZXO0lxQmlGWCx5QnJCakRhO0lxQmtEYixxQnJCbERhO0lxQm9EYjs7TUFLSSwrQ3JCekRTOztBb0JnQ2Y7RUNQQSxjM0IvQmE7RTJCZ0NiLHFCM0JoQ2E7RU9yQmI7SW9Cd0RFLGMzQnRCYztJMkJ1QmQseUIzQnBDVztJMkJxQ1gscUIzQnJDVztFMkJ3Q2I7SUFFRSxpRDNCMUNXO0UyQjZDYjtJQUVFLGMzQi9DVztJMkJnRFgsNkJBQTZCO0VBRy9COztJQUdFLGMzQnpDYztJMkIwQ2QseUIzQnZEVztJMkJ3RFgscUIzQnhEVztJMkIwRFg7O01BS0ksaUQzQi9ETzs7QTBCc0NiO0VDUEEsOEJINUR3QjtFRzZEeEIscUNIN0R3QjtFakJReEI7SW9Cd0RFLFdyQjdEVztJcUI4RFgseUNIakVzQjtJR2tFdEIscUNIbEVzQjtFR3FFeEI7SUFFRSw4Q0h2RXNCO0VHMEV4QjtJQUVFLDhCSDVFc0I7SUc2RXRCLDZCQUE2QjtFQUcvQjs7SUFHRSxXckJoRlc7SXFCaUZYLHlDSHBGc0I7SUdxRnRCLHFDSHJGc0I7SUd1RnRCOztNQUtJLDhDSDVGa0I7O0FFOEUxQjtFQUNFLGdCcEI2TStCO0VvQjVNL0IsYzFCd0hrQjtFMEJ2SGxCLHFCcEIyRjRDO0VDcEs1QztJbUI0RUUsYzFCcUhzQjtJMEJwSHRCLHdCMUJxSDJCO0UwQjVIL0I7SUFZSSx3QjFCZ0gyQjtFMEI1SC9CO0lBaUJJLGMxQnpEYztJMEIwRGQsb0JBQW9COztBQVd4QjtFQ1BFLDRCM0JqQzJCO0VLNkd2QixvQkFBVztFc0IxRWYsZ0JyQitIK0I7RU12TjdCLHdCWm1DeUI7O0EwQjhEN0I7RUNYRSxxQjNCN0IyQjtFS3lHdkIsb0JBQVc7RXNCMUVmLGdCckJnSStCO0VNeE43Qix1QlpvQ3dCOztBMEJzRTVCO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFGYjtJQU1JLGtCcEJ3VCtCOztBb0JuVG5DOzs7RUFJSSxXQUFXOztBRTNJZjtFTmdCTSxnQ2hCaVAyQztFZ0I3TzNDO0lNcEJOO01OcUJRLGdCQUFnQixJTWZ2QjtFQU5EO0lBSUksVUFBVTs7QUFJZDtFQUVJLGFBQWE7O0FBSWpCO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0I7RU5EWiw2QmhCa1B3QztFZ0I5T3hDO0lNTk47TU5PUSxnQkFBZ0IsSU1JdkI7RUFYRDtJQU9JLFFBQVE7SUFDUixZQUFZO0lOTlYsNEJoQm1QdUM7SWdCL092QztNTU5OO1FOT1EsZ0JBQWdCLElNR3JCOztBQ3ZCSDs7OztFQUlFLGtCQUFrQjs7QUFHcEI7RUFDRSxtQkFBbUI7RUNvQmpCO0lBQ0UscUJBQXFCO0lBQ3JCLG9CeEIrTjBDO0l3QjlOMUMsdUJ4QjZOMEM7SXdCNU4xQyxXQUFXO0lBaENmLHVCQUE4QjtJQUM5QixxQ0FBNEM7SUFDNUMsZ0JBQWdCO0lBQ2hCLG9DQUEyQztFQXFEekM7SUFDRSxjQUFjOztBRDFDcEI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxhdkJ5cEJzQztFdUJ4cEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLGdCdkJpdUJ1QztFdUJodUJ2QyxpQnZCaXVCbUM7RXVCaHVCbkMsb0JBQTRCO0V4QjJKeEIsZUFBVztFd0J6SmYsYzdCbUJnQjtFNkJsQmhCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0J2QnZCYTtFdUJ3QmIsNEJBQTRCO0VBQzVCLHFDN0JFVTtFWWhCUix1QlprQ3FCOztBNkJYckI7RUFDRSxXQUFXO0VBQ1gsT0FBTzs7QUFHVDtFQUNFLFFBQVE7RUFDUixVQUFVOztBYllaO0VhbkJBO0lBQ0UsV0FBVztJQUNYLE9BQU87RUFHVDtJQUNFLFFBQVE7SUFDUixVQUFVLElBQ1g7O0FiV0Q7RWFuQkE7SUFDRSxXQUFXO0lBQ1gsT0FBTztFQUdUO0lBQ0UsUUFBUTtJQUNSLFVBQVUsSUFDWDs7QWJXRDtFYW5CQTtJQUNFLFdBQVc7SUFDWCxPQUFPO0VBR1Q7SUFDRSxRQUFRO0lBQ1IsVUFBVSxJQUNYOztBYldEO0VhbkJBO0lBQ0UsV0FBVztJQUNYLE9BQU87RUFHVDtJQUNFLFFBQVE7SUFDUixVQUFVLElBQ1g7O0FBTUw7RUFFSSxTQUFTO0VBQ1QsWUFBWTtFQUNaLGFBQWE7RUFDYix1QnZCK3JCdUM7O0F3Qjl0QnZDO0VBQ0UscUJBQXFCO0VBQ3JCLG9CeEIrTjBDO0V3QjlOMUMsdUJ4QjZOMEM7RXdCNU4xQyxXQUFXO0VBekJmLGFBQWE7RUFDYixxQ0FBNEM7RUFDNUMsMEJBQWlDO0VBQ2pDLG9DQUEyQzs7QUE4Q3pDO0VBQ0UsY0FBYzs7QURVcEI7RUFFSSxNQUFNO0VBQ04sV0FBVztFQUNYLFVBQVU7RUFDVixhQUFhO0VBQ2IscUJ2QmlyQnVDOztBd0I5dEJ2QztFQUNFLHFCQUFxQjtFQUNyQixvQnhCK04wQztFd0I5TjFDLHVCeEI2TjBDO0V3QjVOMUMsV0FBVztFQWxCZixtQ0FBMEM7RUFDMUMsZUFBZTtFQUNmLHNDQUE2QztFQUM3Qyx3QkFBK0I7O0FBdUM3QjtFQUNFLGNBQWM7O0FBN0JoQjtFRG1ERSxpQkFBaUI7O0FBS3ZCO0VBRUksTUFBTTtFQUNOLFdBQVc7RUFDWCxVQUFVO0VBQ1YsYUFBYTtFQUNiLHNCdkJncUJ1Qzs7QXdCOXRCdkM7RUFDRSxxQkFBcUI7RUFDckIsb0J4QitOMEM7RXdCOU4xQyx1QnhCNk4wQztFd0I1TjFDLFdBQVc7O0FBSmI7RUFnQkksYUFBYTs7QUFHZjtFQUNFLHFCQUFxQjtFQUNyQixxQnhCNE13QztFd0IzTXhDLHVCeEIwTXdDO0V3QnpNeEMsV0FBVztFQTlCakIsbUNBQTBDO0VBQzFDLHlCQUFnQztFQUNoQyxzQ0FBNkM7O0FBaUMzQztFQUNFLGNBQWM7O0FBVmQ7RURpREEsaUJBQWlCOztBQU92QjtFQUtJLFdBQVc7RUFDWCxZQUFZOztBQUtoQjtFRTlHRSxTQUFTO0VBQ1QsZ0JBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw2Qi9COEJnQjs7QTZCb0ZsQjtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsMEI3QndEa0M7RTZCdkRsQyxXQUFXO0VBQ1gsZ0J2QmlLK0I7RXVCaEsvQixjN0JqR2lCO0U2QmtHakIsbUJBQW1CO0VBRW5CLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsU0FBUztFdEJySFQ7SXNCb0lFLGM3QnRIYTtJNkJ1SGIscUJBQXFCO0lKL0lyQix5QnpCZ0NjO0U2Qm9GbEI7SUFpQ0ksYzdCN0hhO0k2QjhIYixxQkFBcUI7SUp0SnJCLDZCekI2S2lDO0U2QnpEckM7SUF3Q0ksYzdCekhjO0k2QjBIZCxvQkFBb0I7SUFDcEIsNkJBQTZCOztBQVFqQztFQUNFLGNBQWM7O0FBSWhCO0VBQ0UsY0FBYztFQUNkLHlCN0JFa0M7RTZCRGxDLGdCQUFnQjtFeEJBWixvQkFBVztFd0JFZixjN0I1SWdCO0U2QjZJaEIsbUJBQW1COztBQUlyQjtFQUNFLGNBQWM7RUFDZCwwQjdCUmtDO0U2QlNsQyxjN0IvSmlCOztBZ0M1Qm5COztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBSnhCOztJQU9JLGtCQUFrQjtJQUNsQixjQUFjO0l6QkNoQjs7TXlCSUksVUFBVTtJQWJoQjs7OztNQWtCTSxVQUFVOztBQU1oQjtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsMkJBQTJCO0VBSDdCO0lBTUksV0FBVzs7QUFJZjs7RUFJSSxpQjFCbU02Qjs7QTBCdk1qQzs7RXBCSEksMEJvQmE4QjtFcEJaOUIsNkJvQlk4Qjs7QUFWbEM7O0VwQldJLHlCb0JJNkI7RXBCSDdCLDRCb0JHNkI7O0FBZ0JqQztFQUNFLHdCQUFtQztFQUNuQyx1QkFBa0M7RUFGcEM7OztJQU9JLGNBQWM7RUFHaEI7SUFDRSxlQUFlOztBQUluQjtFQUNFLHNCQUFzQztFQUN0QyxxQkFBcUM7O0FBR3ZDO0VBQ0UseUJBQXNDO0VBQ3RDLHdCQUFxQzs7QUFvQnZDO0VBQ0Usc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2Qix1QkFBdUI7RUFIekI7O0lBT0ksV0FBVztFQVBmOztJQVlJLGdCMUJrSDZCO0UwQjlIakM7O0lwQnJFSSw2Qm9CdUYrQjtJcEJ0Ri9CLDRCb0JzRitCO0VBbEJuQzs7SXBCbkZJLHlCb0IwRzRCO0lwQnpHNUIsMEJvQnlHNEI7O0FBaUJoQzs7RUFHSSxnQkFBZ0I7RUFIcEI7Ozs7SUFPTSxrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjs7QUN6SjFCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLFdBQVc7RUFMYjs7OztJQVdJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsU0FBUztJQUNULFlBQVk7SUFDWixnQkFBZ0I7SUFmcEI7Ozs7Ozs7Ozs7OztNQW9CTSxpQjNCa04yQjtFMkJ0T2pDOzs7SUE0QkksVUFBVTtFQTVCZDtJQWlDSSxVQUFVO0VBakNkOztJckIwQ0kseUJxQkptRDtJckJLbkQsNEJxQkxtRDtFQXRDdkQ7SUE0Q0ksYUFBYTtJQUNiLG1CQUFtQjtJQTdDdkI7O01yQjRCSSwwQnFCb0I2RTtNckJuQjdFLDZCcUJtQjZFO0lBaERqRjtNckIwQ0kseUJxQk9zRTtNckJOdEUsNEJxQk1zRTtFQWpEMUU7Ozs7SXJCNEJJLDBCcUI2QmdDO0lyQjVCaEMsNkJxQjRCZ0M7RUF6RHBDOzs7O0lyQjRCSSwwQnFCc0NnQztJckJyQ2hDLDZCcUJxQ2dDOztBQVlwQzs7RUFFRSxhQUFhO0VBRmY7O0lBUUksa0JBQWtCO0lBQ2xCLFVBQVU7SUFUZDs7TUFZTSxVQUFVO0VBWmhCOzs7Ozs7OztJQW9CSSxpQjNCb0k2Qjs7QTJCaElqQztFQUF1QixrQjNCZ0lVOztBMkIvSGpDO0VBQXNCLGlCM0IrSFc7O0EyQnZIakM7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHFCakNqQjBCO0VpQ2tCMUIsZ0JBQWdCO0U1QjJEWixtQkFBVztFNEJ6RGYsZ0IzQnFLK0I7RTJCcEsvQixpQmpDakJzQjtFaUNrQnRCLGNqQ2xGZ0I7RWlDbUZoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHlCakMxRmdCO0VpQzJGaEIseUJqQ3RGZ0I7RVl6QmQsdUJaa0NxQjtFaUNpRXpCOztJQWtCSSxhQUFhOztBQVVqQjs7RUFFRSxnQ2J6QjhEOztBYTRCaEU7Ozs7OztFQU1FLG9CM0J1UGdDO0VEL041QixvQkFBVztFNEJ0QmYsZ0IzQjJFK0I7RU12TjdCLHdCWm1DeUI7O0FpQzZHN0I7O0VBRUUsZ0NiMUM4RDs7QWE2Q2hFOzs7Ozs7RUFNRSx1QmpDcEV5QjtFSzJFckIsb0JBQVc7RTRCTGYsZ0IzQjJEK0I7RU14TjdCLHVCWm9Dd0I7O0FpQzZINUI7O0VBRUUsc0JBQTBFOztBQVc1RTs7Ozs7Ozs7RXJCOUpJLDBCcUJzSzRCO0VyQnJLNUIsNkJxQnFLNEI7O0FBR2hDOzs7Ozs7RXJCM0pJLHlCcUJpSzJCO0VyQmhLM0IsNEJxQmdLMkI7O0FDeE0vQjtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBYztFQUNkLGtCQUErQztFQUMvQyxvQkFBcUU7RUFDckUseUJBQXlCOztBQUczQjtFQUNFLG9CQUFvQjtFQUNwQixrQjVCeWYwQzs7QTRCdGY1QztFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFc1QnFmMEM7RTRCcGYxQyxlQUFtRjtFQUNuRixVQUFVO0VBTlo7SUFTSSxXNUJ6Qlc7STRCMEJYLHFCVi9CYTtJQ0liLHlCREphO0VVcUJqQjtJQW9CTSxnRFZ6Q1c7RVVxQmpCO0lBeUJJLHFCNUJzYnNFO0U0Qi9jMUU7SUE2QkksVzVCN0NXO0k0QjhDWCx5QjVCa2Y4RTtJNEJqZjlFLHFCNUJpZjhFO0U0QmhoQmxGO0lBdUNNLGNsQ3BCWTtJa0NuQmxCO01BMENRLHlCbEMzQlU7O0FrQ3FDbEI7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBRWhCLG1CQUFtQjtFQUpyQjtJQVNJLGtCQUFrQjtJQUNsQixZQUFnRjtJQUNoRixhQUErRDtJQUMvRCxjQUFjO0lBQ2QsVzVCd2J3QztJNEJ2YnhDLFk1QnVid0M7STRCdGJ4QyxvQkFBb0I7SUFDcEIsV0FBVztJQUNYLHVCbENtQlk7SWtDbEJaLHlCbENwRGM7RWtDa0NsQjtJQXdCSSxrQkFBa0I7SUFDbEIsWUFBZ0Y7SUFDaEYsYUFBK0Q7SUFDL0QsY0FBYztJQUNkLFc1Qnlhd0M7STRCeGF4QyxZNUJ3YXdDO0k0QnZheEMsV0FBVztJQUNYLG1DQUFnRTs7QUFTcEU7RXRCakdJLHVCWmtDcUI7O0FrQytEekI7RUFPTSxrT2Q3RDRFOztBY3NEbEY7RUFhTSxxQlY5SFc7RUNJYix5QkRKYTs7QVVpSGpCO0VBa0JNLCtLZHhFNEU7O0Fjc0RsRjtFVDdHSSx3Q0RKYTs7QVVpSGpCO0VUN0dJLHdDREphOztBVXFKakI7RUFHSSxrQjVCMForQzs7QTRCN1puRDtFQVFNLDhLZGxHNEU7O0FjMEZsRjtFVGpKSSx3Q0RKYTs7QVU2S2pCO0VBQ0UscUJBQTJEO0VBRDdEO0lBS00sY0FBcUQ7SUFDckQsYzVCa1krRTtJNEJqWS9FLG1CQUFtQjtJQUVuQixxQjVCZ1k2RTtFNEJ6WW5GO0lBYU0sd0JkbEUwRDtJY21FMUQsMEJkbkUwRDtJY29FMUQsdUJkNUMwRDtJYzZDMUQsd0JkN0MwRDtJYzhDMUQseUJsQ3ZKWTtJa0N5SloscUI1QnNYNkU7SWdCeGlCN0UseUloQjBmK0g7SWdCdGYvSDtNWTJKTjtRWjFKUSxnQkFBZ0IsSVkrS25CO0VBckJMO0lBMEJNLHVCbEMxRlU7SWtDMkZWLDhCQUE0RTtFQTNCbEY7SVR6S0ksd0NESmE7O0FVME5qQjtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsaUNkckc4RDtFY3NHOUQsa0NsQ3pIMEI7RUs2RXRCLG1CQUFXO0U2QitDZixnQjVCNkQrQjtFNEI1RC9CLGlCbEN6SHNCO0VrQzBIdEIsY2xDMUxnQjtFa0MyTGhCLHNCQUFzQjtFQUN0Qix3TzVCbVcrSTtFNEJsVy9JLHlCbEM3TGdCO0VZekJkLHVCWmtDcUI7RWtDdUx2QixnQkFBZ0I7RUFmbEI7SUFrQkkscUI1QndQc0U7STRCdlB0RSxVQUFVO0lBS1IsZ0RWbFBXO0lVME5qQjtNQWlDTSxjbENsTlk7TWtDbU5aLHVCbEMvSVU7RWtDNkdoQjtJQXdDSSxZQUFZO0lBQ1osc0JsQzlKd0I7SWtDK0p4QixzQkFBc0I7RUExQzFCO0lBOENJLGNsQ2hPYztJa0NpT2QseUJsQ3JPYztFa0NzTGxCO0lBb0RJLGFBQWE7RUFwRGpCO0lBeURJLGtCQUFrQjtJQUNsQiwwQmxDM09jOztBa0MrT2xCO0VBQ0UsZ0Nkaks4RDtFY2tLOUQsbUJsQ3BMd0I7RWtDcUx4QixzQmxDckx3QjtFa0NzTHhCLHFCbENyTHlCO0VLMkVyQixvQkFBVzs7QTZCOEdqQjtFQUNFLGdDZHpLOEQ7RWMwSzlELG1CNUI4R2lDO0U0QjdHakMsc0I1QjZHaUM7RTRCNUdqQyxrQjVCNkdnQztFRC9ONUIsb0JBQVc7O0E2QjJIakI7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxpQ2R6TDhEO0VjMEw5RCxnQkFBZ0I7O0FBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsaUNkak04RDtFY2tNOUQsU0FBUztFQUNULGdCQUFnQjtFQUNoQixVQUFVO0VBUFo7SUFVSSxxQjVCcUtzRTtJNEJwS3RFLGdEVmhVYTtFVXFUakI7O0lBaUJJLHlCbENsU2M7RWtDaVJsQjtJQXNCTSxpQjVCNFRRO0U0QmxWZDtJQTJCSSwwQkFBMEI7O0FBSTlCO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsT0FBTztFQUNQLFVBQVU7RUFDVixpQ2RsTzhEO0VjbU85RCxxQmxDdFAwQjtFa0N1UDFCLGdCQUFnQjtFQUVoQixnQjVCaEUrQjtFNEJpRS9CLGlCbEN0UHNCO0VrQ3VQdEIsY2xDdlRnQjtFa0N3VGhCLHVCbENwUGM7RWtDcVBkLHlCbEN6VGdCO0VZekJkLHVCWmtDcUI7RWtDa1N6QjtJQW1CSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtJQUNWLGNBQWM7SUFDZCwyQmRyUDREO0ljc1A1RCxxQmxDelF3QjtJa0MwUXhCLGlCbEN0UW9CO0lrQ3VRcEIsY2xDdlVjO0lrQ3dVZCxpQkFBaUI7SVQ3V2pCLHlCekJnQ2M7SWtDK1VkLG9CQUFvQjtJdEJuV3BCLG9Dc0JvV2dGOztBQVVwRjtFQUNFLFdBQVc7RUFDWCxjZDNRMkI7RWM0UTNCLFVBQVU7RUFDViw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBTGxCO0lBUUksVUFBVTtJQVJkO01BWThCLGdFVjFZYjtJVThYakI7TUFhOEIsZ0VWM1liO0lVOFhqQjtNQWM4QixnRVY1WWI7RVU4WGpCO0lBa0JJLFNBQVM7RUFsQmI7SUFzQkksVzVCb042QztJNEJuTjdDLFk1Qm1ONkM7STRCbE43QyxvQkFBMEU7SVRsWjFFLHlCREphO0lVd1piLFM1Qm1OMEM7SU0zbEIxQyxtQk40bEI2QztJZ0I5bEIzQyw0R2hCMGYrSDtJNEI1R2pJLGdCQUFnQjtJWjFZZDtNWTRXTjtRWjNXUSxnQkFBZ0IsSVk4WXJCO0lBbkNIO01UMVhJLHlCbkI0bUIyRTtFNEJsUC9FO0lBc0NJLFc1QjZMb0M7STRCNUxwQyxjNUI2THFDO0k0QjVMckMsa0JBQWtCO0lBQ2xCLGU1QjRMdUM7STRCM0x2Qyx5QmxDblljO0lrQ29ZZCx5QkFBeUI7SXRCelp6QixtQk5xbEJvQztFNEJ2T3hDO0lBaURJLFc1QnlMNkM7STRCeEw3QyxZNUJ3TDZDO0ltQnBtQjdDLHlCREphO0lVa2JiLFM1QnlMMEM7SU0zbEIxQyxtQk40bEI2QztJZ0I5bEIzQyw0R2hCMGYrSDtJNEJsRmpJLGdCQUFnQjtJWnBhZDtNWTRXTjtRWjNXUSxnQkFBZ0IsSVl3YXJCO0lBN0RIO01UMVhJLHlCbkI0bUIyRTtFNEJsUC9FO0lBZ0VJLFc1Qm1Lb0M7STRCbEtwQyxjNUJtS3FDO0k0QmxLckMsa0JBQWtCO0lBQ2xCLGU1QmtLdUM7STRCakt2Qyx5QmxDN1pjO0lrQzhaZCx5QkFBeUI7SXRCbmJ6QixtQk5xbEJvQztFNEJ2T3hDO0lBMkVJLFc1QitKNkM7STRCOUo3QyxZNUI4SjZDO0k0QjdKN0MsYUFBYTtJQUNiLG9CNUJyRStCO0k0QnNFL0IsbUI1QnRFK0I7SW1CblkvQix5QkRKYTtJVStjYixTNUI0SjBDO0lNM2xCMUMsbUJONGxCNkM7SWdCOWxCM0MsNEdoQjBmK0g7STRCckRqSSxnQkFBZ0I7SVpqY2Q7TVk0V047UVozV1EsZ0JBQWdCLElZcWNyQjtJQTFGSDtNVDFYSSx5Qm5CNG1CMkU7RTRCbFAvRTtJQTZGSSxXNUJzSW9DO0k0QnJJcEMsYzVCc0lxQztJNEJySXJDLGtCQUFrQjtJQUNsQixlNUJxSXVDO0k0QnBJdkMsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixvQkFBNkM7RUFuR2pEO0lBd0dJLHlCbENqY2M7SVlyQmQsbUJOcWxCb0M7RTRCdk94QztJQTZHSSxrQkFBa0I7SUFDbEIseUJsQ3ZjYztJWXJCZCxtQk5xbEJvQztFNEJ2T3hDO0lBb0hNLHlCbEMzY1k7RWtDdVZsQjtJQXdITSxlQUFlO0VBeEhyQjtJQTRITSx5QmxDbmRZO0VrQ3VWbEI7SUFnSU0sZUFBZTtFQWhJckI7SUFvSU0seUJsQzNkWTs7QWtDZ2VsQjs7O0VaemZNLDRHaEIwZitIO0VnQnRmL0g7SVlxZk47OztNWnBmUSxnQkFBZ0IsSVl3ZnZCOztBQ3hnQkQ7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCOztBQUdsQjtFQUNFLGNBQWM7RUFDZCx3Qm5Da0g2QjtFT2pIN0I7STRCR0UscUJBQXFCO0VBTnpCO0lBV0ksY25DaUJjO0ltQ2hCZCxvQkFBb0I7SUFDcEIsZUFBZTs7QUFRbkI7RUFDRSw4Qm5DSWdCO0VtQ0xsQjtJQUlJLGdCbkNpR3FCO0ltQ2hHckIsNkJBQTZCO0lBQzdCLDJCQUFnRDtJdkJiaEQseUJaNkdzQjtJWTVHdEIsMEJaNEdzQjtJT3hIeEI7TTRCNkJJLGtCQUFrQjtNQUNsQixxQ25DUFk7SW1DTGxCO01BZ0JNLGNuQ1RZO01tQ1VaLDZCQUE2QjtNQUM3Qix5QkFBeUI7RUFsQi9COztJQXdCSSx5Qm5DK0U2QztJbUM5RTdDLHlCbkNyQmM7SW1Dc0JkLHFDbkN0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WXRDNElzQjtFc0MzSXRCLHVCdEM2SW1DO0VzQzNJbkMsZ0JBQWdCO0VBQ2hCLHNCdEM0SXNDO0VZaklwQyx1QlprQ3FCOztBc0N6Q3pCO0VBR0ksb0JoQ3loQ3FDO0VnQzVoQ3pDO0lBTU0sV0FBVztJQUNYLHFCaENxaENtQztJZ0NwaENuQyxjdENzQlk7SXNDckJaLFl0Q2tJdUM7O0FzQzNJN0M7RUFvQkksMEJBQTBCOztBQXBCOUI7RUF3QkkscUJBQXFCOztBQXhCekI7RUE0QkksY3RDSWM7O0F1QzNDbEI7RUFDRSxhQUFhO0U5QkdiLGVBQWU7RUFDZixnQkFBZ0I7RUdhZCx1QlprQ3FCOztBdUM5Q3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCwwQnZDa0ZtQztFdUNqRm5DLGN2Q29GMkI7RXVDbkYzQixjdkNpRjJCO0V1Q2hGM0IsV3ZDaUY4QjtFdUMvRTlCLHlCdkNrQlk7RXVDakJaLHVCdkN3QmdCO0V1Q2pDbEI7SUFZSSxVQUFVO0lBQ1YsV3ZDNEU0QjtJdUMzRTVCLHFCQUFxQjtJQUNyQix5QnZDV1U7SXVDVlYscUJ2Q2lCYztFdUNqQ2xCO0lBb0JJLFVBQVU7SUFDVixVakM0d0JpQztJaUMzd0JqQyxnRGYxQmE7O0FlOEJqQjtFQUdNLGNBQWM7RTNCYWhCLGdDWklxQjtFWUhyQixtQ1pHcUI7O0F1Q3BCekI7RTNCRUksaUNaa0JxQjtFWWpCckIsb0NaaUJxQjs7QXVDcEJ6QjtFQWNJLFVBQVU7RUFDVixjdkNmVTtFdUNnQlYsc0J2Q2tENEI7RXVDakQ1QixrQnZDaUQ0Qjs7QXVDbEVoQztFQXFCSSxjdkNYYztFdUNZZCxvQkFBb0I7RUFFcEIsWUFBWTtFQUNaLHlCdkNsQmM7RXVDbUJkLHFCdkNuQmM7O0F3Q3BDaEI7RUFDRSx1QmxDMHhCc0M7RUQxbUJwQyxrQkFBVztFbUM5S2IsZ0JsQ21PNkI7O0FrQzlOM0I7RTVCcUNGLGlDWkt5QjtFWUp6QixvQ1pJeUI7O0F3Q3JDdkI7RTVCa0JGLGtDWm1CeUI7RVlsQnpCLHFDWmtCeUI7O0F3Q2xEM0I7RUFDRSx1QmxDd3hCcUM7RUR4bUJuQyxvQkFBVztFbUM5S2IsZ0JsQ29PNkI7O0FrQy9OM0I7RTVCcUNGLGdDWk13QjtFWUx4QixtQ1pLd0I7O0F3Q3RDdEI7RTVCa0JGLGlDWm9Cd0I7RVluQnhCLG9DWm1Cd0I7O0F5Q2pENUI7RUFDRSxxQkFBcUI7RUFDckIscUJuQzQ1QnNDO0VEL3ZCcEMsY0FBVztFb0MzSmIsZ0J6Q0lvQjtFeUNIcEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0U3Qkt0Qix1QlprQ3FCO0VzQnBDbkIscUloQmliNkk7RWdCN2E3STtJbUJmTjtNbkJnQlEsZ0JBQWdCLEltQk12QjtFbENYQztJa0NHSSxxQkFBcUI7RUFkM0I7SUFvQkksYUFBYTs7QUFLakI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUzs7QUFPWDtFQUNFLG9CbkNpNEJzQztFbUNoNEJ0QyxtQm5DZzRCc0M7RU12NUJwQyxvQk4wNUJxQzs7QW1DMTNCdkM7RUNqREEsV3BDTWE7RW9DTGIseUJsQkFlO0VqQmNmO0ltQ1ZJLFdwQ0NTO0lvQ0FULHlCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDViwrQ2xCWFc7O0FpQmdEZjtFQ2pEQSxjMUM2Q2dCO0UwQzVDaEIseUJsQkNpQjtFakJhakI7SW1DVkksYzFDd0NZO0kwQ3ZDWixzQkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaURsQlZhOztBaUIrQ2pCO0VDakRBLGMxQzZDZ0I7RTBDNUNoQix5QjFDaUNlO0VPbkJmO0ltQ1ZJLGMxQ3dDWTtJMEN2Q1oseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLGlEMUNzQlc7O0F5Q2VmO0VDakRBLFdwQ01hO0VvQ0xiLHlCcEMwQ2U7RUM1QmY7SW1DVkksV3BDQ1M7SW9DQVQseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLGdEcEMrQlc7O0FtQ01mO0VDakRBLGMxQzZDZ0I7RTBDNUNoQix5QnBDdUNlO0VDekJmO0ltQ1ZJLGMxQ3dDWTtJMEN2Q1oseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDcEM0Qlc7O0FtQ1NmO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENxQ2U7RUN2QmY7SW1DVkksV3BDQ1M7SW9DQVQseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDcEMwQlc7O0FtQ1dmO0VDakRBLGMxQzZDZ0I7RTBDNUNoQix5QjFDK0JhO0VPakJiO0ltQ1ZJLGMxQ3dDWTtJMEN2Q1oseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLGlEMUNvQlM7O0F5Q2lCYjtFQ2pEQSxXcENNYTtFb0NMYix5Q2xCRXdCO0VqQll4QjtJbUNWSSxXcENDUztJb0NBVCx5Q0FBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YsOENsQlRvQjs7QW1CSjFCO0VBQ0Usa0JBQXFEO0VBQ3JELG1CckN5ekJzQztFcUN2ekJ0Qyx5QjNDa0NnQjtFWXBCZCx3QlptQ3lCO0VnQk96QjtJMkI1REo7TUFRSSxrQnJDbXpCb0MsSXFDanpCdkM7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFL0JJYixnQitCSHNCOztBQ1gxQjtFQUNFLGtCQUFrQjtFQUNsQix3QnRDeTlCeUM7RXNDeDlCekMsbUJ0Q3k5QnNDO0VzQ3g5QnRDLDZCQUE2QztFaENVM0MsdUJaa0NxQjs7QTRDdkN6QjtFQUVFLGNBQWM7O0FBSWhCO0VBQ0UsZ0I1Q1BvQjs7QTRDZXRCO0VBQ0UsbUJBQXNEO0VBRHhEO0lBS0ksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsVUFBVTtJQUNWLHdCdEMwN0J1QztJc0N6N0J2QyxjQUFjOztBQVVoQjtFQy9DQSxjekJ3R2dFO0VLbkc5RCx5QkxtRzhEO0V5QnRHaEUscUJ6QnNHZ0U7RXlCcEdoRTtJQUNFLHlCQUFxQztFQUd2QztJQUNFLGNBQTBCOztBRHNDNUI7RUMvQ0EsY3pCd0dnRTtFS25HOUQseUJMbUc4RDtFeUJ0R2hFLHFCekJzR2dFO0V5QnBHaEU7SUFDRSx5QkFBcUM7RUFHdkM7SUFDRSxjQUEwQjs7QURzQzVCO0VDL0NBLGN6QndHZ0U7RUtuRzlELHlCTG1HOEQ7RXlCdEdoRSxxQnpCc0dnRTtFeUJwR2hFO0lBQ0UseUJBQXFDO0VBR3ZDO0lBQ0UsY0FBMEI7O0FEc0M1QjtFQy9DQSxjekJ3R2dFO0VLbkc5RCx5QkxtRzhEO0V5QnRHaEUscUJ6QnNHZ0U7RXlCcEdoRTtJQUNFLHlCQUFxQztFQUd2QztJQUNFLGNBQTBCOztBRHNDNUI7RUMvQ0EsY3pCd0dnRTtFS25HOUQseUJMbUc4RDtFeUJ0R2hFLHFCekJzR2dFO0V5QnBHaEU7SUFDRSx5QkFBcUM7RUFHdkM7SUFDRSxjQUEwQjs7QURzQzVCO0VDL0NBLGN6QndHZ0U7RUtuRzlELHlCTG1HOEQ7RXlCdEdoRSxxQnpCc0dnRTtFeUJwR2hFO0lBQ0UseUJBQXFDO0VBR3ZDO0lBQ0UsY0FBMEI7O0FEc0M1QjtFQy9DQSxjekJ3R2dFO0VLbkc5RCx1QkxtRzhEO0V5QnRHaEUsbUJ6QnNHZ0U7RXlCcEdoRTtJQUNFLHlCQUFxQztFQUd2QztJQUNFLGNBQTBCOztBRHNDNUI7RUMvQ0EsZ0N6QndHZ0U7RUtuRzlELDZDTG1HOEQ7RXlCdEdoRSwwQ3pCc0dnRTtFeUJwR2hFO0lBQ0UsOENBQXFDO0VBR3ZDO0lBQ0UsNkJBQTBCOztBQ1I1QjtFQUNFO0lBQU8sOEJBQXVDO0VBQzlDO0lBQUssd0JBQXdCOztBQUlqQztFQUNFLGFBQWE7RUFDYixlOUN5THlCO0U4Q3hMekIsZ0JBQWdCO0VBQ2hCLGNBQWM7RXpDd0tWLGtCQUFXO0V5Q3RLZix5QjlDd0JnQjtFWXBCZCx1QlprQ3FCOztBOENqQ3pCO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLFd4Q2pCYTtFd0NrQmIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QnRCekJlO0VGY1gsMkJoQm8rQjRDO0VnQmgrQjVDO0l3QkROO014QkVRLGdCQUFnQixJd0JRdkI7O0FBRUQ7RXJCWUUscU1BQTZJO0VxQlY3SSxnQzlDa0t5Qjs7QThDOUp6QjtFQUNFLGtEQUE4RDtFQUc1RDtJQUpKO01BS00sZUFBZSxJQUdwQjs7QUM3Q0g7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCOztBQUd6QjtFQUNFLE9BQU87O0FDRlQ7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBR3RCLGVBQWU7RUFDZixnQkFBZ0I7RXBDUWQsdUJaa0NxQjs7QWdEaEN6QjtFQUNFLFdBQVc7RUFDWCxjaERxQmdCO0VnRHBCaEIsbUJBQW1CO0V6Q1BuQjtJeUNXRSxVQUFVO0lBQ1YsY2hEZWM7SWdEZGQscUJBQXFCO0lBQ3JCLHlCMUN0QmM7RTBDWWxCO0lBY0ksY2hEWWM7SWdEWGQseUJoREdjOztBZ0RNbEI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHdCMUNpOUJ5QztFMEM5OEJ6QyxzQjFDM0NhO0UwQzRDYixzQ2hEakJVO0VnRFVaO0lwQ2pCSSwrQm9DMkJrQztJcEMxQmxDLGdDb0MwQmtDO0VBVnRDO0lwQ0hJLG1Db0NpQnFDO0lwQ2hCckMsa0NvQ2dCcUM7RUFkekM7SUFtQkksY2hEckJjO0lnRHNCZCxvQkFBb0I7SUFDcEIsc0IxQzFEVztFMENxQ2Y7SUEwQkksVUFBVTtJQUNWLFcxQ2hFVztJMENpRVgseUJ4QnRFYTtJd0J1RWIscUJ4QnZFYTtFd0IwQ2pCO0lBaUNJLG1CQUFtQjtJQWpDdkI7TUFvQ00sZ0IxQzRKMkI7TTBDM0ozQixxQjFDMkoyQjs7QTBDN0k3QjtFQUNFLG1CQUFtQjtFQURyQjtJcEN0QkEsbUNackJxQjtJWVNyQiwwQm9Dd0N3QztFQU54QztJcENsQ0EsaUNaVHFCO0lZcUJyQiw0Qm9DaUMwQztFQVgxQztJQWVNLGFBQWE7RUFmbkI7SUFtQk0scUIxQzBIdUI7STBDekh2QixvQkFBb0I7SUFwQjFCO01BdUJRLGlCMUNzSHFCO00wQ3JIckIsc0IxQ3FIcUI7O0FVaEw3QjtFZ0NtQ0E7SUFDRSxtQkFBbUI7SUFEckI7TXBDdEJBLG1DWnJCcUI7TVlTckIsMEJvQ3dDd0M7SUFOeEM7TXBDbENBLGlDWlRxQjtNWXFCckIsNEJvQ2lDMEM7SUFYMUM7TUFlTSxhQUFhO0lBZm5CO01BbUJNLHFCMUMwSHVCO00wQ3pIdkIsb0JBQW9CO01BcEIxQjtRQXVCUSxpQjFDc0hxQjtRMENySHJCLHNCMUNxSHFCLEkwQ3BIdEI7O0FoQzVEUDtFZ0NtQ0E7SUFDRSxtQkFBbUI7SUFEckI7TXBDdEJBLG1DWnJCcUI7TVlTckIsMEJvQ3dDd0M7SUFOeEM7TXBDbENBLGlDWlRxQjtNWXFCckIsNEJvQ2lDMEM7SUFYMUM7TUFlTSxhQUFhO0lBZm5CO01BbUJNLHFCMUMwSHVCO00wQ3pIdkIsb0JBQW9CO01BcEIxQjtRQXVCUSxpQjFDc0hxQjtRMENySHJCLHNCMUNxSHFCLEkwQ3BIdEI7O0FoQzVEUDtFZ0NtQ0E7SUFDRSxtQkFBbUI7SUFEckI7TXBDdEJBLG1DWnJCcUI7TVlTckIsMEJvQ3dDd0M7SUFOeEM7TXBDbENBLGlDWlRxQjtNWXFCckIsNEJvQ2lDMEM7SUFYMUM7TUFlTSxhQUFhO0lBZm5CO01BbUJNLHFCMUMwSHVCO00wQ3pIdkIsb0JBQW9CO01BcEIxQjtRQXVCUSxpQjFDc0hxQjtRMENySHJCLHNCMUNxSHFCLEkwQ3BIdEI7O0FoQzVEUDtFZ0NtQ0E7SUFDRSxtQkFBbUI7SUFEckI7TXBDdEJBLG1DWnJCcUI7TVlTckIsMEJvQ3dDd0M7SUFOeEM7TXBDbENBLGlDWlRxQjtNWXFCckIsNEJvQ2lDMEM7SUFYMUM7TUFlTSxhQUFhO0lBZm5CO01BbUJNLHFCMUMwSHVCO00wQ3pIdkIsb0JBQW9CO01BcEIxQjtRQXVCUSxpQjFDc0hxQjtRMENySHJCLHNCMUNxSHFCLEkwQ3BIdEI7O0FBYVg7RXBDbkhJLGdCb0NvSHNCO0VBRDFCO0lBSUkscUIxQ21HNkI7STBDdkdqQztNQU9NLHNCQUFzQjs7QUN6STFCO0VBQ0UsYzdCcUc4RDtFNkJwRzlELHlCN0JvRzhEO0ViekZoRTtJMENQTSxjN0JnRzBEO0k2Qi9GMUQseUJBQXlDO0VBUC9DO0lBV00sVzNDUE87STJDUVAseUI3QjBGMEQ7STZCekYxRCxxQjdCeUYwRDs7QTZCdEdoRTtFQUNFLGM3QnFHOEQ7RTZCcEc5RCx5QjdCb0c4RDtFYnpGaEU7STBDUE0sYzdCZ0cwRDtJNkIvRjFELHlCQUF5QztFQVAvQztJQVdNLFczQ1BPO0kyQ1FQLHlCN0IwRjBEO0k2QnpGMUQscUI3QnlGMEQ7O0E2QnRHaEU7RUFDRSxjN0JxRzhEO0U2QnBHOUQseUI3Qm9HOEQ7RWJ6RmhFO0kwQ1BNLGM3QmdHMEQ7STZCL0YxRCx5QkFBeUM7RUFQL0M7SUFXTSxXM0NQTztJMkNRUCx5QjdCMEYwRDtJNkJ6RjFELHFCN0J5RjBEOztBNkJ0R2hFO0VBQ0UsYzdCcUc4RDtFNkJwRzlELHlCN0JvRzhEO0ViekZoRTtJMENQTSxjN0JnRzBEO0k2Qi9GMUQseUJBQXlDO0VBUC9DO0lBV00sVzNDUE87STJDUVAseUI3QjBGMEQ7STZCekYxRCxxQjdCeUYwRDs7QTZCdEdoRTtFQUNFLGM3QnFHOEQ7RTZCcEc5RCx5QjdCb0c4RDtFYnpGaEU7STBDUE0sYzdCZ0cwRDtJNkIvRjFELHlCQUF5QztFQVAvQztJQVdNLFczQ1BPO0kyQ1FQLHlCN0IwRjBEO0k2QnpGMUQscUI3QnlGMEQ7O0E2QnRHaEU7RUFDRSxjN0JxRzhEO0U2QnBHOUQseUI3Qm9HOEQ7RWJ6RmhFO0kwQ1BNLGM3QmdHMEQ7STZCL0YxRCx5QkFBeUM7RUFQL0M7SUFXTSxXM0NQTztJMkNRUCx5QjdCMEYwRDtJNkJ6RjFELHFCN0J5RjBEOztBNkJ0R2hFO0VBQ0UsYzdCcUc4RDtFNkJwRzlELHVCN0JvRzhEO0ViekZoRTtJMENQTSxjN0JnRzBEO0k2Qi9GMUQseUJBQXlDO0VBUC9DO0lBV00sVzNDUE87STJDUVAseUI3QjBGMEQ7STZCekYxRCxxQjdCeUYwRDs7QTZCdEdoRTtFQUNFLGdDN0JxRzhEO0U2QnBHOUQsOEM3Qm9HOEQ7RWJ6RmhFO0kwQ1BNLGdDN0JnRzBEO0k2Qi9GMUQsOENBQXlDO0VBUC9DO0lBV00sVzNDUE87STJDUVAsMkM3QjBGMEQ7STZCekYxRCx1QzdCeUYwRDs7QThCekdsRTtFQUNFLFlBQVk7RTdDbUxSLGlCQUFXO0U2Q2pMZixnQmxEVW9CO0VrRFRwQixjQUFjO0VBQ2QsV2xENkJVO0VrRDVCVix5QjVDQ2E7RTRDQWIsV0FBVztFM0NLWDtJMkNERSxXbER1QlE7SWtEdEJSLHFCQUFxQjtFM0NJdkI7STJDQ0ksWUFBWTs7QUFXbEI7RUFDRSxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLFNBQVM7O0FBTVg7RUFDRSxvQkFBb0I7O0FDdEN0QjtFQUdFLGlCN0MyNEJ1QztFNkMxNEJ2QyxnQjdDMDRCdUM7RUQxdEJuQyxtQkFBVztFOEM3S2YsMkM3Q0FhO0U2Q0NiLDRCQUE0QjtFQUM1QixvQzdDNDRCbUQ7RTZDMzRCbkQsZ0RuRHdCVTtFbUR2QlYsVUFBVTtFdkNPUixzQk5vNEJzQztFNkN0NUIxQztJQWVJLHNCN0NnNEJzQztFNkMvNEIxQztJQW1CSSxVQUFVO0VBbkJkO0lBdUJJLGNBQWM7SUFDZCxVQUFVO0VBeEJkO0lBNEJJLGFBQWE7O0FBSWpCO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix3QjdDNDJCd0M7RTZDMzJCeEMsY25ETWdCO0VtRExoQiwyQzdDOUJhO0U2QytCYiw0QkFBNEI7RUFDNUIsNEM3Q28zQm9EO0VNaDRCbEQsMkNRdUg0RDtFUnRINUQsNENRc0g0RDs7QStCdkdoRTtFQUNFLGdCN0NtMkJ3Qzs7QThDejRCMUM7RUFFRSxnQkFBZ0I7RUFGbEI7SUFLSSxrQkFBa0I7SUFDbEIsZ0JBQWdCOztBQUtwQjtFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLGE5QzRwQnNDO0U4QzNwQnRDLGFBQWE7RUFDYixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQjtFQUdoQixVQUFVOztBQU9aO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxjOUNpNUJ1QztFOEMvNEJ2QyxvQkFBb0I7RUFHcEI7STlCM0JJLG1DaEJzOEJvRDtJOEN6NkJ0RCw4QjlDdTZCbUQ7SWdCaDhCakQ7TThCdUJKO1E5QnRCTSxnQkFBZ0IsSThCeUJyQjtFQUNEO0lBQ0UsZTlDcTZCb0M7RThDajZCdEM7SUFDRSxzQjlDazZCMkM7O0E4Qzk1Qi9DO0VBQ0UsYUFBYTtFQUNiLDZCaEN1RjhEO0VnQ3pGaEU7SUFLSSw4QmhDb0Y0RDtJZ0NuRjVELGdCQUFnQjtFQU5wQjs7SUFXSSxjQUFjO0VBWGxCO0lBZUksZ0JBQWdCOztBQUlwQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsNkJoQ21FOEQ7RWdDdEVoRTtJQU9JLGNBQWM7SUFDZCwwQmhDOEQ0RDtJZ0M3RDVELG1CQUFtQjtJQUNuQixXQUFXO0VBVmY7SUFlSSxzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFqQmhCO01Bb0JNLGdCQUFnQjtJQXBCdEI7TUF3Qk0sYUFBYTs7QUFNbkI7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXO0VBR1gsb0JBQW9CO0VBQ3BCLHNCOUMzR2E7RThDNEdiLDRCQUE0QjtFQUM1QixrQ3BEbEZVO0VZaEJSLHVCWmtDcUI7RW9Eb0V2QixVQUFVOztBQUlaO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYTlDZ2pCc0M7RThDL2lCdEMsWUFBWTtFQUNaLGFBQWE7RUFDYixzQnBEakdVO0VvRDBGWjtJQVVXLFVBQVU7RUFWckI7SUFXVyxZOUMrekIyQjs7QThDMXpCdEM7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixrQjlDNHpCc0M7RThDM3pCdEMsOEJwRDFHZ0I7RVlaZCxnQ1FnSHlCO0VSL0d6QixpQ1ErR3lCO0VnQ0M3QjtJQVNJLGtCOUN1ekJvQztJOENyekJwQyw4QkFBNkY7O0FBS2pHO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCOUN1SStCOztBOENsSWpDO0VBQ0Usa0JBQWtCO0VBR2xCLGNBQWM7RUFDZCxpQnBEaUI4Qjs7QW9EYmhDO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLGlCQUFpRTtFQUNqRSwyQnBEM0lnQjtFWUVkLG9DUWtHeUI7RVJqR3pCLG1DUWlHeUI7RWdDaUM3QjtJQWFJLGVBQXlDOztBQUs3QztFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7O0FwQ3ZJZDtFb0N6Qko7SUF1S0ksb0JwRFprQjtJb0RhbEIsb0JBQXlDO0VBbEo3QztJQXNKSSwrQmhDN0Q0RDtJZ0N6RmhFO01BeUpNLGdDaENoRTBEO0VnQ3RFaEU7SUEySUksK0JoQ3JFNEQ7SWdDdEVoRTtNQThJTSw0QmhDeEUwRDtNZ0N5RTFELG1CQUFtQjtFQVF2QjtJQUFZLGdCcERwQ1MsSW9Eb0NlOztBcEN2S2xDO0VvQzJLRjs7SUFFRSxrQnBENUNrQixJb0Q2Q25COztBcEM5S0M7RW9Da0xGO0lBQVksaUI5Q2l1QjRCLEk4Q2p1Qko7O0FDN090QztFQUNFLGtCQUFrQjtFQUNsQixhL0NnckJzQztFK0MvcUJ0QyxjQUFjO0VBQ2QsUy9DNjFCbUM7RWdEajJCbkMsNkN0RFVpRDtFc0RSakQsa0JBQWtCO0VBQ2xCLGdCaEQ0UitCO0VnRDNSL0IsZ0JoRGdTK0I7RWdEL1IvQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixnQkFBZ0I7RWpEcUtaLG9CQUFXO0VnRHpLZixxQkFBcUI7RUFDckIsVUFBVTtFQVhaO0lBYVcsWS9DaTFCMkI7RStDOTFCdEM7SUFnQkksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxhL0NpMUJxQztJK0NoMUJyQyxjL0NpMUJxQztJK0NwMkJ6QztNQXNCTSxrQkFBa0I7TUFDbEIsV0FBVztNQUNYLHlCQUF5QjtNQUN6QixtQkFBbUI7O0FBS3pCO0VBQ0UsaUJBQWdDO0VBRGxDO0lBSUksU0FBUztJQUpiO01BT00sTUFBTTtNQUNOLDZCQUFpRTtNQUNqRSxzQnJETk07O0FxRFdaO0VBQ0UsaUIvQ3V6QnVDO0UrQ3h6QnpDO0lBSUksT0FBTztJQUNQLGEvQ216QnFDO0krQ2x6QnJDLGMvQ2l6QnFDO0krQ3Z6QnpDO01BU00sUUFBUTtNQUNSLG9DQUE2RjtNQUM3Rix3QnJEdEJNOztBcUQyQlo7RUFDRSxpQkFBZ0M7RUFEbEM7SUFJSSxNQUFNO0lBSlY7TUFPTSxTQUFTO01BQ1QsNkIvQ2d5Qm1DO00rQy94Qm5DLHlCckRwQ007O0FxRHlDWjtFQUNFLGlCL0N5eEJ1QztFK0MxeEJ6QztJQUlJLFFBQVE7SUFDUixhL0NxeEJxQztJK0NweEJyQyxjL0NteEJxQztJK0N6eEJ6QztNQVNNLE9BQU87TUFDUCxvQy9DZ3hCbUM7TStDL3dCbkMsdUJyRHBETTs7QXFEeUVaO0VBQ0UsZ0IvQyt1QnVDO0UrQzl1QnZDLHVCL0NvdkJ1QztFK0NudkJ2QyxXL0N2R2E7RStDd0diLGtCQUFrQjtFQUNsQixzQnJEOUVVO0VZaEJSLHVCWmtDcUI7O0F1RHBEekI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxhakQ4cUJzQztFaUQ3cUJ0QyxjQUFjO0VBQ2QsZ0JqRCsyQnVDO0VnRHAzQnZDLDZDdERVaUQ7RXNEUmpELGtCQUFrQjtFQUNsQixnQmhENFIrQjtFZ0QzUi9CLGdCaERnUytCO0VnRC9SL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VqRHFLWixvQkFBVztFa0R4S2YscUJBQXFCO0VBQ3JCLHNCakROYTtFaURPYiw0QkFBNEI7RUFDNUIsa0N2RG1CVTtFWWhCUix1QlprQ3FCO0V1RHBEekI7SUFvQkksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxXakQrMkJvQztJaUQ5MkJwQyxjakQrMkJxQztJaUQ5MkJyQyxrQnZENEJxQjtJdURwRHpCO01BNEJNLGtCQUFrQjtNQUNsQixjQUFjO01BQ2QsV0FBVztNQUNYLHlCQUF5QjtNQUN6QixtQkFBbUI7O0FBS3pCO0VBQ0UscUJqRGcyQnVDO0VpRGoyQnpDO0lBSUksZW5Da0d5QjtJbUN0RzdCO01BT00sU0FBUztNQUNULDZCQUFpRTtNQUNqRSxxQ2pEMjFCaUU7SWlEcDJCdkU7TUFhTSxTdkR3SGtCO011RHZIbEIsNkJBQWlFO01BQ2pFLHNCakQ3Q1M7O0FpRGtEZjtFQUNFLG1CakQ0MEJ1QztFaUQ3MEJ6QztJQUlJLGFuQzhFeUI7SW1DN0V6QixhakR3MEJxQztJaUR2MEJyQyxZakRzMEJvQztJaURyMEJwQyxrQkFBZ0M7SUFQcEM7TUFVTSxPQUFPO01BQ1Asb0NBQTZGO01BQzdGLHVDakRvMEJpRTtJaURoMUJ2RTtNQWdCTSxPdkRpR2tCO011RGhHbEIsb0NBQTZGO01BQzdGLHdCakRwRVM7O0FpRHlFZjtFQUNFLGtCakRxekJ1QztFaUR0ekJ6QztJQUlJLFluQ3VEeUI7SW1DM0Q3QjtNQU9NLE1BQU07TUFDTixvQ0FBNkY7TUFDN0Ysd0NqRGd6QmlFO0lpRHp6QnZFO01BYU0sTXZENkVrQjtNdUQ1RWxCLG9DQUE2RjtNQUM3Rix5QmpEeEZTO0VpRHlFZjtJQXFCSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxjQUFjO0lBQ2QsV2pENHhCb0M7SWlEM3hCcEMsb0JBQXVDO0lBQ3ZDLFdBQVc7SUFDWCw4QmpEZ3hCdUQ7O0FpRDV3QjNEO0VBQ0Usb0JqRHF4QnVDO0VpRHR4QnpDO0lBSUksY25DdUJ5QjtJbUN0QnpCLGFqRGl4QnFDO0lpRGh4QnJDLFlqRCt3Qm9DO0lpRDl3QnBDLGtCQUFnQztJQVBwQztNQVVNLFFBQVE7TUFDUixvQ2pEMndCbUM7TWlEMXdCbkMsc0NqRDZ3QmlFO0lpRHp4QnZFO01BZ0JNLFF2RDBDa0I7TXVEekNsQixvQ2pEcXdCbUM7TWlEcHdCbkMsdUJqRDNIUzs7QWlEaUpmO0VBQ0UsdUJqRHN1QndDO0VpRHJ1QnhDLGdCQUFnQjtFbEQwQlosZUFBVztFa0R2QmYseUJqRCt0QnlEO0VpRDl0QnpELDhCQUF5RTtFM0NuSXZFLGdDUWdIeUI7RVIvR3pCLGlDUStHeUI7RW1DYTdCO0lBVUksYUFBYTs7QUFJakI7RUFDRSx1QmpEd3RCd0M7RWlEdnRCeEMsY3ZEMUhnQjs7QXdEakNsQjtFQUNFLGtCQUFrQjs7QUFHcEI7RUFDRSxtQkFBbUI7O0FBR3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxn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QWlCOztBQUtyQjtFQUVRLHNCQUpZO0VBS1osOEJ2RWJrQjtFdUVjbEIsdUN2RWRrQjs7QXVFVTFCOztFQVNRLG1DdkVuQmtCOztBdUVVMUI7RUFZUSw0QnZFdEJrQjs7QXVFVTFCOztFQWdCUSw4QnZFMUJrQjs7QXVFVTFCOztFQW9CUSw0QnZFOUJrQjs7QXVFVTFCO0VBd0JRLHVCL0ZjaUI7RStGYmpCLHlDdkVuQ2tCO0V1RW9DbEIsYy9GUE87RStGUVAsZ0JBQWdCOztBQTNCeEI7O0VBK0JRLGNBQWM7O0FBL0J0Qjs7O0VBb0NRLHVDdkU5Q2tCO0V1RStDbEIsYy9GbEJPOztBK0ZuQmY7RUF3Q1Esc0JBMUNZO0VBMkNaLDRCdkVuRGtCOztBdUVVMUI7RUE0Q1Esc0JBOUNZO0VBK0NaLDRCdkV2RGtCOztBdUVVMUI7RUFnRFEseUJ2RTVEUztFdUU2RFQsV3pGeERPOztBeUZPZjs7RUFxRFEseUJ2RWpFUztFdUVrRVQsV3pGN0RPOztBaUNQZjtFeURDSSx1QkFBdUI7RUFDdkIsbUJBQXFCO0VBQ3JCLGtCQUFzQjs7QUFHMUI7RUFDSSxxQkFBd0I7O0F6RHlCNUI7RXlEdEJJLGNBQWM7RXBGc0NkLHlCb0ZyQzZCO0VwRnNDN0IsNEJvRnRDNkI7RXBGcUM3QiwyQm9GbENtQztFcEZtQ25DLDhCb0ZuQ21DOztBekRrQnZDO0UzQkVJLDBCb0ZmOEI7RXBGZ0I5Qiw2Qm9GaEI4QjtFcEZlOUIsNEJvRlpvQztFcEZhcEMsK0JvRmJvQzs7QXpEaEJ4QztFeURvQkksZUFBaUI7RUFDakIsZ0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUVYLGtCQUFrQjs7QXpERDlCO0V5REtJLHNCQUFzQjtFQUN0QixpQkFBb0I7RUFDcEIsMENoRzNCNEM7RWdHNEI1QyxnQmhHM0JrQjtFZ0c0QmxCLG9EaEdQUTs7QWdHVVo7RUFDSSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixtQmhHUmM7RWdHSWxCO0lBT1Esb0JBQXVCOztBQ25EL0I7QUFD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LG9CQUF1QjtJQUN2QixxQkFBd0I7O0FBUGhDO0VBQ0kscUJBQXVCO0VBQ3ZCLHNCQUF3QjtFQUY1Qjs7SUFNUSxxQkFBdUI7SUFDdkIsc0JBQXdCOztBQVBoQztFQUNJLG9CQUF1QjtFQUN2QixxQkFBd0I7RUFGNUI7O0lBTVEsb0JBQXVCO0lBQ3ZCLHFCQUF3Qjs7QUNScEM7RUFDSSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGlDQUFpQztFOUl5RGpDO0k2RXhESTtNQUNJLHVCN0YrQ2E7TTZGOUNiLHVEQUEwRDtNQUMxRCwwQzdGaUNNO002RmhDTiwwQkFBMEI7SUFHOUI7TUFDSSx1QjdGd0NhO002RnZDYixlQWJZO01BY1osZ0JBZFk7TUFlWiwwQzdGeUJNO002RnhCTiwwQkFBMEI7SUFHOUI7TUFDSSx1QjdGZ0NhO002Ri9CYix1Q3JFakJjO01xRWtCZCwwQkFBMEI7SUFJMUI7TUFDSSwwQzdGYUU7STZGVk47TUFDSSwwQzdGU0U7STZGTk47TUFDSSx1Q3JFL0JVLElxRWdDYiIsImZpbGUiOiJwb3J0YWwtZW5naW5lLXN0eWxlLjk3YWM3ODBlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFNldHRpbmdzICovXG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL3NldHRpbmdzL3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL3NldHRpbmdzL2ZvbnQtZmFjZS5zY3NzXCI7XG5cbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvbWl4aW5zL3Njcm9sbGJhci5zY3NzXCI7XG5cbi8qIDNyZCBQYXJ0eSAqL1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2Nzc1wiO1xuQGltcG9ydCBcIn5AYnJhaW5odWJldS9yZWFjdC1jYXJvdXNlbC9saWIvc3R5bGUuY3NzXCI7XG5AaW1wb3J0IFwifnJlYWN0LWJvb3RzdHJhcC10eXBlYWhlYWQvY3NzL1R5cGVhaGVhZC5jc3NcIjtcbkBpbXBvcnQgXCJ+bGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XG5AaW1wb3J0IFwifnJlYWN0LWRhdGVwaWNrZXIvc3JjL3N0eWxlc2hlZXRzL2RhdGVwaWNrZXJcIjtcblxuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9zZXR0aW5ncy9iYXNlLXNldHRpbmdzLnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvc2V0dGluZ3MvYmFzZS10eXBvLnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvc2V0dGluZ3MvYmFzZS1sYXlvdXQuc2Nzc1wiO1xuXG4vKiBDb21wb25lbnRzICovXG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvZnVsbC1oZWlnaHQtbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9sb2FkaW5nLWluZGljYXRvclwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL3RlYXNlci1ncmlkXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvaWNvbi1idG5cIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9idXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9zaWRlYmFyLWxheW91dFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2ZpbHRlci1iYXJcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvYnRuXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvYnRuLXJvd1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL3RlYXNlclwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2xpc3QtdGVhc2VyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci0tbGV2ZWwtMFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL25hdmJhci9uYXZiYXItLWxldmVsLTFcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1tb2JpbGVcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9tYWluLWZvb3RlclwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2Zvcm0tY29udHJvbFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2Zvcm0tY29udHJvbC1pY29uXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvY3VzdG9tLWNoZWNrYm94XCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvY3VzdG9tLXJhZGlvXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvc2VsZWN0XCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvY2FyZFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2ZpZWxkc2V0XCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvbmF2LXRhYnNcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9uYXYtcGlsbHNcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9pbWFnZS10ZWFzZXJcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9tZWRpYVwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2NvbnRlbnQtdGVhc2VyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2FjdGlvbi1iYXJcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9zdGF0ZS1jaXJjbGVcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9zZWxlY3Rpb24tYmFyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvcmVzdWx0LWluZm9cIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvaW1hZ2UtaG90c3BvdFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2ltYWdlLW1hcmtlclwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2ltYWdlLWdhbGxlcnlcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9rZXktdmFsdWUtaXRlbVwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy90cmVlXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvb3ZlcmxheVwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2JsdXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy90eXBlYWhlYWRcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9tb2RhbFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL3JlYWN0LXNlbGVjdFwiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2xlYWZsZXQuc2Nzc1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2RhdGEtdGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2FsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9vcHRpb25zLXRvZ2dsZS5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvd3lzaXd5Zy5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvY29udGVudC1ibG9jay5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvZGF0YS10eXBlLnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9kcm9wLXpvbmUuc2Nzc1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL2RhdGUtcGlja2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvY29tcG9uZW50cy9sb2dpbi5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2NvbXBvbmVudHMvd29ya2Zsb3cuc2Nzc1wiO1xuQGltcG9ydCBcIn5wb3J0YWwtZW5naW5lL3N0eWxlcy9jb21wb25lbnRzL3NlbGVjdGlvbi1pbmRpY2F0b3Iuc2Nzc1wiO1xuXG4vKiBIZWxwZXJzICovXG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL2hlbHBlci5zY3NzXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL29iamVjdHMvdmVydGljYWwtZ3V0dGVyXCI7XG5AaW1wb3J0IFwifnBvcnRhbC1lbmdpbmUvc3R5bGVzL29iamVjdHMvcm93LS1ndXR0ZXJcIjtcbkBpbXBvcnQgXCJ+cG9ydGFsLWVuZ2luZS9zdHlsZXMvb2JqZWN0cy9zY3JvbGwtYXJlYVwiO1xuIiwiLy8gQmFzZSBMYXlvdXRcbiRjb250YWluZXItd2lkdGg6IDE0ODRweDtcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIHNtOiAkY29udGFpbmVyLXdpZHRoLFxuICAgIG1kOiAkY29udGFpbmVyLXdpZHRoLFxuICAgIGxnOiAkY29udGFpbmVyLXdpZHRoLFxuICAgIHhsOiAkY29udGFpbmVyLXdpZHRoXG4pO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyNHB4O1xuXG4vLyBUeXBvXG4kZm9udC1mYW1pbHktYmFzZTogJ01vbnRzZXJyYXQtUmVndWxhcicsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktYm9sZDogJ01vbnRzZXJyYXQtQm9sZCcsIHNhbnMtc2VyaWY7XG4kZm9udC13ZWlnaHQtYm9sZDogNDAwO1xuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuJGZvbnQtc2l6ZS1zbTogMXJlbSAqIC43ODc1O1xuJGgxLWZvbnQtc2l6ZTogMzAvMTYqMXJlbTtcbiRoMS1mb250LXNpemUtbWQ6IDUwLzE2KjFyZW07XG4kaDItZm9udC1zaXplOiAyOC8xNioxcmVtO1xuJGgyLWZvbnQtc2l6ZS1tZDogNDIvMTYqMXJlbTtcbiRoMy1mb250LXNpemU6IDIyLzE2KjFyZW07XG4kaDMtZm9udC1zaXplLW1kOiAyNC8xNioxcmVtO1xuJGg0LWZvbnQtc2l6ZTogMTgvMTYqMXJlbTtcbiRoNS1mb250LXNpemU6IDFyZW07XG4kaDYtZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuXG4vLyBDb2xvcnNcbiRwcmltYXJ5OiAjMkIwMDgwO1xuJHNlY29uZGFyeTogIzI4MjgyODtcbiRkYXJrOiAjMjgyODI4O1xuJGxpZ2h0OiAjZmZmZmZmO1xuJGJsYWNrOiAjMDAwO1xuJHN1Y2Nlc3M6ICM4M0Q4NjU7XG5cbi8vJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTdlNWVjO1xuJGdyYXktMzAwOiAjRjVGNEY3O1xuJGdyYXktNDAwOiAjRThFOEU4O1xuJGdyYXktNTAwOiAjQkNCQ0JDO1xuJGdyYXktNjAwOiAjOTg5ODk4O1xuJGdyYXktNzAwOiAjNEU0RTRFO1xuLy8kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4vKiBbU1RBUlQgQ0FVVElPTl0gUmVsZXZhbnQgZm9yIGZyb250ZW5kIGN1c3RvbWl6YXRpb24gc3RyX3JlcGxhY2UgKi9cbiRncmF5LTkwMDogIzE4MTgxODtcbi8qIFtFTkQgQ0FVVElPTl0gKi9cblxuJHRleHQtbXV0ZWQ6ICRncmF5LTYwMDtcblxuXG4kYm9yZGVyLXJhZGl1czogNi8xNioxcmVtO1xuJGJvcmRlci1yYWRpdXMtbGc6IDI1LzE2KjFyZW07XG4kYm9yZGVyLXJhZGl1cy1zbTogNi8xNioxcmVtO1xuXG4vLyBTaGFkb3dzXG4kYm94LXNoYWRvdzogMCA1LzE2KjFyZW0gMjAvMTYqMXJlbSAwIHJnYmEoJGJsYWNrLCAwLjMpO1xuJGJveC1zaGFkb3ctbGc6IDAgMjAvMTYqMXJlbSAzMC8xNioxcmVtIDAgcmdiYSgkYmxhY2ssIDAuMSk7XG5cblxuLy8gSW5wdXRzXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAkZm9udC1zaXplLXNtO1xuXG4vLyBCdXR0b25zXG4kYnRuLXBhZGRpbmcteTogOC8xNioxcmVtO1xuJGJ0bi1wYWRkaW5nLXg6IDIwLzE2KjFyZW07XG4kYnRuLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcblxuJGJ0bi1wYWRkaW5nLXktbGc6IDEzLzE2KjFyZW07XG4kYnRuLXBhZGRpbmcteC1sZzogMzUvMTYqMXJlbTtcbiRidG4tZm9udC1mYW1pbHktbGc6ICRmb250LWZhbWlseS1ib2xkO1xuXG4kYnRuLXBhZGRpbmcteS1zbTogNC8xNioxcmVtO1xuJGJ0bi1wYWRkaW5nLXgtc206IDE2LzE2KjFyZW07XG5cbiRidG4tYWRkb24tc2l6ZTogMzAvMTYqMXJlbTtcblxuXG4vLyBDb25maWd1cmF0aW9uIFZhcnNcbiRidG5zLXJvdW5kZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50c1xuJGhlYWRlci1ncmFkaWVudHM6IHRydWUgIWRlZmF1bHQ7XG4kbmF2LWljb24tZ3JhZGllbnRzOiB0cnVlICFkZWZhdWx0O1xuJG1vZGFsLWdyYWRpZW50czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICRkYXJrO1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgIDIvMTYqMXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAyLzE2KjFyZW07XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgMTtcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAjZmZmO1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgIDA7XG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgI2ZmZjtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAkZGFyaztcbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAkZGFyaztcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAjZmZmO1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICRncmF5LTMwMDtcblxuLy8gSW5wdXRzXG4kaW5wdXQtcGFkZGluZy15OiAxNi8xNioxcmVtO1xuJGlucHV0LXBhZGRpbmcteDogMjAvMTYqMXJlbTtcbiRpbnB1dC1wYWRkaW5nLXktc206IC41cmVtO1xuJGlucHV0LXBhZGRpbmcteC1zbTogLjc1cmVtO1xuJGlucHV0LWZvbnQtc2l6ZTogMTQvMTYqMXJlbTtcbiRpbnB1dC1saW5lLWhlaWdodDogMS4yODtcbiRpbnB1dC1ib3gtc2hhZG93OiBub25lO1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGdyYXktNzAwO1xuJGlucHV0LWJveC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtYmc6IHdoaXRlO1xuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAxLzE2KjFyZW07XG5cbi8vIENhcmRzXG4kY2FyZC1zcGFjZXIteTogMTIvMTYqMXJlbTtcbiRjYXJkLXNwYWNlci14OiAxMi8xNioxcmVtO1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAxLzE2KjFyZW07XG4kY2FyZC1ib3JkZXItY29sb3I6ICRncmF5LTIwMDtcbiRjYXJkLWNhcC1iZzogJGdyYXktMjAwO1xuJGNhcmQtY2FwLWNvbG9yOiBjb2xvci15aXEoJGdyYXktMjAwKTtcblxuLy8gSGVhZGVyXG4kaGVhZGVyLWNvbG9yOiAkcHJpbWFyeTtcblxuLy8gTmF2c1xuJG5hdi1saW5rLXBhZGRpbmcteTogMTIvMTYqMXJlbTtcbiRuYXYtbGluay1wYWRkaW5nLXg6IDIwLzE2KjFyZW07XG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogY29sb3IteWlxKCRzZWNvbmRhcnkpO1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogJHNlY29uZGFyeTtcblxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDA7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAwO1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6IDA7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IGNvbG9yLXlpcSgkZ3JheS0yMDApO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAkZ3JheS0yMDA7XG5cblxuLy8gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLXBhZGRpbmcteTogMDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogMDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogMzAvMTYqMXJlbTtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgbm9uZTtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTUwMDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTcwMDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwifFwiKTtcbi8vXG4vLyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBFbWJlZCByZXNwb25zaXZlXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKTtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICgyMSA5KSxcbiAgICAgICAgICAgICAgICAgICAgKDE2IDkpLFxuICAgICAgICAgICAgICAgICAgICAoNCAzKSxcbiAgICAgICAgICAgICAgICAgICAgKDEgMSksXG4gICAgICAgICAgICAgICAgICAgICgyIDEpLFxuICAgICAgICAgICAgICAgICAgICAoMTggMTkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAwO1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAwIDAgMTAvMTYqMXJlbSAwIHJnYmEoJGJsYWNrLDAuMSk7XG5cblxuLy8gRHJvcGRvd25zXG4kZHJvcGRvd24tbGluay1jb2xvcjogJHNlY29uZGFyeTtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeTtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJHByaW1hcnk7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiA0LzE2KjFyZW07XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6IDE1LzE2KjFyZW07XG5cblxuLy8gTW9kYWxzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogMTAvMTYqMXJlbTsgLy9tb2RhbCBmb290ZXIgdXNlIHRoaXMgY2hlY2tcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIDA7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgMTYvMTYqMXJlbTtcbiRtb2RhbC1sZzogOTIwLzE2KjFyZW07XG4kbW9kYWwtbWQ6IDcxMC8xNioxcmVtO1xuJG1vZGFsLXNtOiAgNDgwLzE2KjFyZW07XG5cblxuLy8gUHJvZ3Jlc3NiYXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDQvMTYqMXJlbTtcblxuLy8gVGFibGVcbiR0YWJsZS1jZWxsLXBhZGRpbmc6IC40NXJlbSAuMnJlbTtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRncmF5LTIwMDtcbiR0YWJsZS1ob3Zlci1iZzogJGdyYXktMjAwO1xuXG4vLyBNaXNjXG4kbGV0dGVyLXNwYWNpbmc6IDEvMTYqMXJlbSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yOiBpbmhlcml0O1xuJGxpbmstaG92ZXItY29sb3I6IGluaGVyaXQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBpbmhlcml0O1xuJGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I6ICNjY2NjY2M7XG4kZm9ybS1jb250cm9sLWRpc2FibGVkLWNvbG9yOiAjOTk5OTk5O1xuJGZvcm0tY29udHJvbC1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1SZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LUJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9Nb250c2VycmF0LUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi8uLi9mb250cy9Nb250c2VycmF0LUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNi4yIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcInRvYXN0c1wiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIC41ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAqIC41O1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gICAgbWF4LXdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgKiAuMDAxO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInBvcnRhbC1lbmdpbmUtYnVuZGxlL3N0eWxlcy9zZXR0aW5ncy92YXJpYWJsZXNcIjtcblxuJHByaW1hcnk6ICMwMDk5Q0M7XG4kc2Vjb25kYXJ5OiAjOTk5OTk5O1xuJGRhcms6IHJnYmEoNDAsNDAsNDAsLjk5OCk7XG4kaGVhZGVyLWNvbG9yOiAjRkZGO1xuJGhlYWRlci1ncmFkaWVudHM6IGZhbHNlO1xuJG1vZGFsLWdyYWRpZW50czogZmFsc2U7XG4kbmF2LWljb24tZ3JhZGllbnRzOiBmYWxzZTsiLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi53aWR0aCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZShkaXZpZGUoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXksICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy5zY3NzXCI7XG5cbi5yZWFjdC1kYXRlcGlja2VyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLnJlYWN0LWRhdGVwaWNrZXIge1xuICBmb250LWZhbWlseTogJGRhdGVwaWNrZXJfX2ZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRkYXRlcGlja2VyX19mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAkZGF0ZXBpY2tlcl9fdGV4dC1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGRhdGVwaWNrZXJfX2JvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVhY3QtZGF0ZXBpY2tlci0tdGltZS1vbmx5IHtcbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3RyaWFuZ2xlIHtcbiAgICBsZWZ0OiAzNXB4O1xuICB9XG5cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX3RpbWUtY29udGFpbmVyIHtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC5yZWFjdC1kYXRlcGlja2VyX190aW1lLFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fdGltZS1ib3gge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuM3JlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICB9XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX190cmlhbmdsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTBweDtcbn1cblxuLnJlYWN0LWRhdGVwaWNrZXItcG9wcGVyIHtcbiAgei1pbmRleDogMTtcblxuICAmW2RhdGEtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgbWFyZ2luLXRvcDogJGRhdGVwaWNrZXJfX3RyaWFuZ2xlLXNpemUgKyAycHg7XG5cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fdHJpYW5nbGUge1xuICAgICAgQGV4dGVuZCAldHJpYW5nbGUtYXJyb3ctdXA7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudD1cImJvdHRvbS1lbmRcIl0sXG4gICZbZGF0YS1wbGFjZW1lbnQ9XCJ0b3AtZW5kXCJdIHtcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fdHJpYW5nbGUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGF0ZXBpY2tlcl9fdHJpYW5nbGUtc2l6ZSArIDJweDtcblxuICAgIC5yZWFjdC1kYXRlcGlja2VyX190cmlhbmdsZSB7XG4gICAgICBAZXh0ZW5kICV0cmlhbmdsZS1hcnJvdy1kb3duO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkZGF0ZXBpY2tlcl9fdHJpYW5nbGUtc2l6ZTtcblxuICAgIC5yZWFjdC1kYXRlcGlja2VyX190cmlhbmdsZSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDQycHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkYXRlcGlja2VyX190cmlhbmdsZS1zaXplO1xuXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3RyaWFuZ2xlIHtcbiAgICAgIGxlZnQ6IDQycHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXJfX2JhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGF0ZXBpY2tlcl9fYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLXJhZGl1cztcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtLXRpbWUge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICAgJjpub3QoJi0tb25seSkge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCgmLS1oYXMtdGltZS1zZWxlY3QpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItZHJvcGRvd24tY29udGFpbmVyLS1zZWxlY3QsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtZHJvcGRvd24tY29udGFpbmVyLS1zZWxlY3QsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgteWVhci1kcm9wZG93bi1jb250YWluZXItLXNlbGVjdCxcbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLWRyb3Bkb3duLWNvbnRhaW5lci0tc2Nyb2xsLFxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLWRyb3Bkb3duLWNvbnRhaW5lci0tc2Nyb2xsLFxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLXllYXItZHJvcGRvd24tY29udGFpbmVyLS1zY3JvbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAycHg7XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX19jdXJyZW50LW1vbnRoLFxuLnJlYWN0LWRhdGVwaWNrZXItdGltZV9faGVhZGVyLFxuLnJlYWN0LWRhdGVwaWNrZXIteWVhci1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogJGRhdGVwaWNrZXJfX2hlYWRlci1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogJGRhdGVwaWNrZXJfX2ZvbnQtc2l6ZSAqIDEuMTg7XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyLXRpbWVfX2hlYWRlciB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAkZGF0ZXBpY2tlcl9faXRlbS1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6ICRkYXRlcGlja2VyX19uYXZpZ2F0aW9uLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJi0tcHJldmlvdXMge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCxcbiAgICAmLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkYXRlcGlja2VyX19uYXZpZ2F0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gICYtLW5leHQge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I7XG4gICAgJi0td2l0aC10aW1lOm5vdCgmLS13aXRoLXRvZGF5LWJ1dHRvbikge1xuICAgICAgcmlnaHQ6IDk1cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCxcbiAgICAmLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGRhdGVwaWNrZXJfX25hdmlnYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgJi0teWVhcnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJi1wcmV2aW91cyB7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkYXRlcGlja2VyX19tdXRlZC1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3IsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi11cGNvbWluZyB7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBkYXJrZW4oJGRhdGVwaWNrZXJfX211dGVkLWNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyIHtcbiAgbWFyZ2luOiAkZGF0ZXBpY2tlcl9fbWFyZ2luO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcbiAgfVxuICAucmVhY3QtZGF0ZXBpY2tlcl9feWVhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgbWFyZ2luOiAycHg7XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoIHtcbiAgbWFyZ2luOiAkZGF0ZXBpY2tlcl9fbWFyZ2luO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC10ZXh0LFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fcXVhcnRlci10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgbWFyZ2luOiAycHg7XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2lucHV0LXRpbWUtY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMCAxMHB4IDE1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC5yZWFjdC1kYXRlcGlja2VyLXRpbWVfX2NhcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAucmVhY3QtZGF0ZXBpY2tlci10aW1lX19pbnB1dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAucmVhY3QtZGF0ZXBpY2tlci10aW1lX19pbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGltZVwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGltZVwiXSB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgfVxuICAgIH1cbiAgICAucmVhY3QtZGF0ZXBpY2tlci10aW1lX19kZWxpbWl0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3RpbWUtY29udGFpbmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRkYXRlcGlja2VyX19ib3JkZXItY29sb3I7XG4gIHdpZHRoOiA4NXB4O1xuXG4gICYtLXdpdGgtdG9kYXktYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNzJweDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAucmVhY3QtZGF0ZXBpY2tlcl9fdGltZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjNyZW07XG5cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fdGltZS1ib3gge1xuICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjNyZW07XG4gICAgICB1bC5yZWFjdC1kYXRlcGlja2VyX190aW1lLWxpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogY2FsYygxOTVweCArICgjeyRkYXRlcGlja2VyX19pdGVtLXNpemV9IC8gMikpO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICBsaS5yZWFjdC1kYXRlcGlja2VyX190aW1lLWxpc3QtaXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlcl9fYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXJfX3NlbGVjdGVkLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXJfX3NlbGVjdGVkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhdGVwaWNrZXJfX211dGVkLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3dlZWstbnVtYmVyIHtcbiAgY29sb3I6ICRkYXRlcGlja2VyX19tdXRlZC1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGRhdGVwaWNrZXJfX2l0ZW0tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRkYXRlcGlja2VyX19pdGVtLXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAkZGF0ZXBpY2tlcl9fZGF5LW1hcmdpbjtcbiAgJi5yZWFjdC1kYXRlcGlja2VyX193ZWVrLW51bWJlci0tY2xpY2thYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWVzLFxuLnJlYWN0LWRhdGVwaWNrZXJfX3dlZWsge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWUsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LFxuLnJlYWN0LWRhdGVwaWNrZXJfX3RpbWUtbmFtZSB7XG4gIGNvbG9yOiAkZGF0ZXBpY2tlcl9fdGV4dC1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGRhdGVwaWNrZXJfX2l0ZW0tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRkYXRlcGlja2VyX19pdGVtLXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAkZGF0ZXBpY2tlcl9fZGF5LW1hcmdpbjtcbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLFxuLnJlYWN0LWRhdGVwaWNrZXJfX3F1YXJ0ZXIge1xuICAmLS1zZWxlY3RlZCxcbiAgJi0taW4tc2VsZWN0aW5nLXJhbmdlLFxuICAmLS1pbi1yYW5nZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXJfX3NlbGVjdGVkLWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRhdGVwaWNrZXJfX3NlbGVjdGVkLWNvbG9yLCA1JSk7XG4gICAgfVxuICB9XG4gICYtLWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRhdGVwaWNrZXJfX211dGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX19kYXksXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtdGV4dCxcbi5yZWFjdC1kYXRlcGlja2VyX19xdWFydGVyLXRleHQsXG4ucmVhY3QtZGF0ZXBpY2tlcl9feWVhci10ZXh0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyX19ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19iYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgJi0tdG9kYXkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgJi0taGlnaGxpZ2h0ZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyX19ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19oaWdobGlnaHRlZC1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19oaWdobGlnaHRlZC1jb2xvciwgNSUpO1xuICAgIH1cblxuICAgICYtY3VzdG9tLTEge1xuICAgICAgY29sb3I6IG1hZ2VudGE7XG4gICAgfVxuXG4gICAgJi1jdXN0b20tMiB7XG4gICAgICBjb2xvcjogZ3JlZW47XG4gICAgfVxuICB9XG5cbiAgJi0tc2VsZWN0ZWQsXG4gICYtLWluLXNlbGVjdGluZy1yYW5nZSxcbiAgJi0taW4tcmFuZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRkYXRlcGlja2VyX19ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19zZWxlY3RlZC1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19zZWxlY3RlZC1jb2xvciwgNSUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWtleWJvYXJkLXNlbGVjdGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXRlcGlja2VyX19zZWxlY3RlZC1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19zZWxlY3RlZC1jb2xvciwgNSUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWluLXNlbGVjdGluZy1yYW5nZTpub3QoJi0taW4tcmFuZ2UpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXRlcGlja2VyX19zZWxlY3RlZC1jb2xvciwgMC41KTtcbiAgfVxuXG4gICYtLWluLXJhbmdlOm5vdCgmLS1pbi1zZWxlY3RpbmctcmFuZ2UpIHtcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtLXNlbGVjdGluZy1yYW5nZSAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgY29sb3I6ICRkYXRlcGlja2VyX190ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICRkYXRlcGlja2VyX19tdXRlZC1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC10ZXh0LFxuLnJlYWN0LWRhdGVwaWNrZXJfX3F1YXJ0ZXItdGV4dCB7XG4gICYucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgtLXNlbGVjdGVkLFxuICAmLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLS1pbi1yYW5nZSxcbiAgJi5yZWFjdC1kYXRlcGlja2VyX19xdWFydGVyLS1zZWxlY3RlZCxcbiAgJi5yZWFjdC1kYXRlcGlja2VyX19xdWFydGVyLS1pbi1yYW5nZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlcl9fc2VsZWN0ZWQtY29sb3I7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXRlcGlja2VyX19iYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX19pbnB1dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZWFjdC1kYXRlcGlja2VyX195ZWFyLXJlYWQtdmlldyxcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC1yZWFkLXZpZXcsXG4ucmVhY3QtZGF0ZXBpY2tlcl9fbW9udGgteWVhci1yZWFkLXZpZXcge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItcmVhZC12aWV3LS1kb3duLWFycm93LFxuICAgIC5yZWFjdC1kYXRlcGlja2VyX19tb250aC1yZWFkLXZpZXctLWRvd24tYXJyb3cge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cblxuICAmLS1kb3duLWFycm93IHtcbiAgICBAZXh0ZW5kICV0cmlhbmdsZS1hcnJvdy1kb3duO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRkYXRlcGlja2VyX19tdXRlZC1jb2xvcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgdG9wOiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogJGRhdGVwaWNrZXJfX25hdmlnYXRpb24tc2l6ZTtcbiAgfVxufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9feWVhci1kcm9wZG93bixcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC1kcm9wZG93bixcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC15ZWFyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXJfX2JhY2tncm91bmQtY29sb3I7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUwJTtcbiAgbGVmdDogMjUlO1xuICB0b3A6IDMwcHg7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRkYXRlcGlja2VyX19ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi0tc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3llYXItb3B0aW9uLFxuLnJlYWN0LWRhdGVwaWNrZXJfX21vbnRoLW9wdGlvbixcbi5yZWFjdC1kYXRlcGlja2VyX19tb250aC15ZWFyLW9wdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGRhdGVwaWNrZXJfX2JvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I7XG5cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbi0teWVhcnMtdXBjb21pbmcge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbi0teWVhcnMtcHJldmlvdXMge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cblxuICAmLS1zZWxlY3RlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX2Nsb3NlLWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDBweCA2cHggMHB4IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0ZXBpY2tlcl9fc2VsZWN0ZWQtY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgfVxufVxuXG4ucmVhY3QtZGF0ZXBpY2tlcl9fdG9kYXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogJGRhdGVwaWNrZXJfX2JhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZGF0ZXBpY2tlcl9fYm9yZGVyLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBjbGVhcjogbGVmdDtcbn1cblxuLnJlYWN0LWRhdGVwaWNrZXJfX3BvcnRhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDc7XG5cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheS1uYW1lLFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LFxuICAucmVhY3QtZGF0ZXBpY2tlcl9fdGltZS1uYW1lIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgfVxuXG4gIC8vIFJlc2l6ZSBmb3Igc21hbGwgc2NyZWVuc1xuICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fZGF5LW5hbWUsXG4gICAgLnJlYWN0LWRhdGVwaWNrZXJfX2RheSxcbiAgICAucmVhY3QtZGF0ZXBpY2tlcl9fdGltZS1uYW1lIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX2N1cnJlbnQtbW9udGgsXG4gIC5yZWFjdC1kYXRlcGlja2VyLXRpbWVfX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAkZGF0ZXBpY2tlcl9fZm9udC1zaXplICogMS44O1xuICB9XG5cbiAgLnJlYWN0LWRhdGVwaWNrZXJfX25hdmlnYXRpb24ge1xuICAgIGJvcmRlcjogMS44ICogJGRhdGVwaWNrZXJfX25hdmlnYXRpb24tc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1wcmV2aW91cyB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCxcbiAgICAmLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkYXRlcGlja2VyX19uYXZpZ2F0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gIC5yZWFjdC1kYXRlcGlja2VyX19uYXZpZ2F0aW9uLS1uZXh0IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGRhdGVwaWNrZXJfX211dGVkLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKCRkYXRlcGlja2VyX19tdXRlZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCxcbiAgICAmLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGRhdGVwaWNrZXJfX25hdmlnYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIldHJpYW5nbGUtYXJyb3cge1xuICBtYXJnaW4tbGVmdDogLSRkYXRlcGlja2VyX190cmlhbmdsZS1zaXplO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJixcbiAgJjo6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiAkZGF0ZXBpY2tlcl9fdHJpYW5nbGUtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvcmRlci13aWR0aDogJGRhdGVwaWNrZXJfX3RyaWFuZ2xlLXNpemU7XG5cbiAgICBsZWZ0OiAtJGRhdGVwaWNrZXJfX3RyaWFuZ2xlLXNpemU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRhdGVwaWNrZXJfX2JvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4ldHJpYW5nbGUtYXJyb3ctdXAge1xuICBAZXh0ZW5kICV0cmlhbmdsZS1hcnJvdztcblxuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IC0kZGF0ZXBpY2tlcl9fdHJpYW5nbGUtc2l6ZTtcblxuICAmLFxuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRhdGVwaWNrZXJfX2JhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbiV0cmlhbmdsZS1hcnJvdy1kb3duIHtcbiAgQGV4dGVuZCAldHJpYW5nbGUtYXJyb3c7XG5cbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAtJGRhdGVwaWNrZXJfX3RyaWFuZ2xlLXNpemU7XG5cbiAgJixcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkZGF0ZXBpY2tlcl9fYm9yZGVyLWNvbG9yO1xuICB9XG59XG4iLCIkZGF0ZXBpY2tlcl9fYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMCAhZGVmYXVsdDtcbiRkYXRlcGlja2VyX19ib3JkZXItY29sb3I6ICNhZWFlYWUgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9faGlnaGxpZ2h0ZWQtY29sb3I6ICMzZGNjNGEgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3I6ICNjY2MgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fc2VsZWN0ZWQtY29sb3I6ICMyMTZiYTUgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fdGV4dC1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRkYXRlcGlja2VyX19oZWFkZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fbmF2aWdhdGlvbi1kaXNhYmxlZC1jb2xvcjogbGlnaHRlbigkZGF0ZXBpY2tlcl9fbXV0ZWQtY29sb3IsIDEwJSlcbiAgIWRlZmF1bHQ7XG5cbiRkYXRlcGlja2VyX19ib3JkZXItcmFkaXVzOiAwLjNyZW0gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fZGF5LW1hcmdpbjogMC4xNjZyZW0gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCxcbiAgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRkYXRlcGlja2VyX19pdGVtLXNpemU6IDEuN3JlbSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyX19tYXJnaW46IDAuNHJlbSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyX19uYXZpZ2F0aW9uLXNpemU6IDAuNDVyZW0gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlcl9fdHJpYW5nbGUtc2l6ZTogOHB4ICFkZWZhdWx0O1xuIiwiYiwgc3Ryb25nLFxuLmZvbnQtd2VpZ2h0LWJvbGQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5wOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplLW1kO1xuICAgIH1cbn1cblxuaDIsLmgyIHtcbiAgICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZS1tZDtcbiAgICB9XG59XG5cbmgzLC5oMyB7XG4gICAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemUtbWQ7XG4gICAgfVxufSIsImh0bWwge1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvKnByZXZlbnQgc2Nyb2xsYmFyIGZyb20gb3ZlcmxhcHBpbmcgY29udGVudCBpbiBJRSovXG59XG5ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAuODc1O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgYm9keSB7XG4gICAgICAgIG1pbi13aWR0aDogMzIwLzE2KjFyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbn1cblxuLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogLjVyZW0gMCAwO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMC42MjVyZW0gc29saWQgJGdyYXktMzAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm1haW4tY29udGVudF9fbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICB9XG59XG5cbi5jb250YWluZXItbmFycm93IHtcbiAgICBtYXgtd2lkdGg6IDEwNTcvMTYqMXJlbTtcbn1cblxuLy8gdG9kb1xuZGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXBfZ2V0KCRzcGFjZXJzLCAyKTtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuZGQge1xuICAgIG1hcmdpbjogMDtcbn0iLCIuZnVsbC1oZWlnaHQtbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogYXV0bztcbn1cbi5mdWxsLWhlaWdodC1sYXlvdXRfX2ZpdCB7XG4gICAgZmxleDogbm9uZTtcbn1cbi5mdWxsLWhlaWdodC1sYXlvdXRfX2ZpbGwge1xuICAgIGZsZXg6IGF1dG87XG59IiwiLmxvYWRpbmctaW5kaWNhdG9yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sb2FkaW5nLWluZGljYXRvcl9fc3Bpbm5lciB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGFuaW1hdGlvbjogbG9hZGluZy1pbmRpY2F0b3JfX3NwaW5uZXItYW5pbWF0aW9uIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG4ubG9hZGluZy1pbmRpY2F0b3ItLXNtIC5sb2FkaW5nLWluZGljYXRvcl9fc3Bpbm5lciB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbn1cblxuLmxvYWRpbmctaW5kaWNhdG9yLS1pbmxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdG9wOiAwLjEyNXJlbTtcbn1cblxuLmxvYWRpbmctaW5kaWNhdG9yLS1pbmxpbmUgLmxvYWRpbmctaW5kaWNhdG9yX19zcGlubmVyIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uYnRuLXNtIC5sb2FkaW5nLWluZGljYXRvci0taW5saW5lIC5sb2FkaW5nLWluZGljYXRvcl9fc3Bpbm5lciB7XG4gICAgd2lkdGg6IDAuOGVtO1xuICAgIGhlaWdodDogMC44ZW07XG59XG5cbi5idG4tc20gLmxvYWRpbmctaW5kaWNhdG9yLS1pbmxpbmUge1xuICAgIHRvcDogMDtcbn1cblxuLmxvYWRpbmctaW5kaWNhdG9yX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKTtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nLWluZGljYXRvcl9fc3Bpbm5lci1hbmltYXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgwZGVnKSByb3RhdGVZKDBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODAuMWRlZykgcm90YXRlWSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTc5LjlkZWcpO1xuICAgIH1cbn0iLCIudGVhc2VyLWdyaWRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMzkgLyAxNiAqIDFyZW07XG4gICAgfVxufVxuXG4udGVhc2VyLWdyaWQtLXNtIC50ZWFzZXItZ3JpZF9faXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtaW4td2lkdGg6IDE4MCAvIDE2ICogMXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxODAgLyAxNiAqIDFyZW07XG4gICAgfVxufSIsIi5pY29uLWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDIvMTYgKiAxcmVtO1xuICAgIHdpZHRoOiAyOC8xNiAqIDFyZW07XG4gICAgaGVpZ2h0OiAyOC8xNiAqIDFyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuXG4gICAgQGlmICRidG5zLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxufVxuLmljb24tYnRuLmljb24tYnRuLS1sZyB7XG4gICAgd2lkdGg6IDM2LzE2KjFyZW07XG4gICAgaGVpZ2h0OiAzNi8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICB3aWR0aDogNDAvMTYqMXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0MC8xNioxcmVtO1xuICAgIH1cbn1cbi5pY29uLWJ0bl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMTIvMTYqMXJlbTtcbiAgICBoZWlnaHQ6IDEyLzE2KjFyZW07XG59XG4uaWNvbi1idG4tLWxnIC5pY29uLWJ0bl9faWNvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxOC8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBoZWlnaHQ6IDIwLzE2KjFyZW07XG4gICAgfVxufSIsIi8qXG4uYnRuLWdyb3VwIHtcbiAgICBAaWYgJGJ0bi1ncm91cHMtcm91bmRlZCB7XG4gICAgICAgID4gLmljb24tYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIvMTYgKiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuaWNvbi1idG46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDgvMTYgKiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuaWNvbi1idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gICAgICAgID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmljb24tYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmljb24tYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuaWNvbi1idG4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59Ki9cblxuXG4uYnRuLWdyb3VwLXNtIC5idG4ge1xuICAgIHBhZGRpbmc6IDgvMTYqMXJlbTtcbn0iLCIuc2lkZWJhci1sYXlvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zaWRlYmFyLWxheW91dDpub3QoLmlzLW9wZW4pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi8vLnNpZGViYXItbGF5b3V0X19jb250ZW50LFxuLy8uc2lkZWJhci1sYXlvdXRfX3NpZGUge1xuLy8gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuLy8gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMjhweCk7IC8qIHRvZG8gICovXG4vLyAgICB9XG4vL1xuLy99XG4uc2lkZWJhci1sYXlvdXQuaXMtb3BlbiAuc2lkZWJhci1sYXlvdXRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xufVxuLnNpZGViYXItbGF5b3V0X19zaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS0zMDA7XG59XG4uc2lkZWJhci1sYXlvdXQuaXMtb3BlbiAuc2lkZWJhci1sYXlvdXRfX3NpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjIwLzE2KjFyZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogLTIwMGVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLnNpZGViYXItbGF5b3V0X19zaWRlX19jb250ZW50LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi5zaWRlYmFyLWxheW91dF9fc2lkZV9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMy8xNioxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxOC8xNioxcmVtO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBpbmNsdWRlIHNjcm9sbGJhcigpO1xufVxuXG4uc2lkZWJhci1sYXlvdXRfX3NpZGUtdG9nZ2xlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA1MHZoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1JSwgLTUwJSk7XG4gICAgd2lkdGg6IDIwLzE2KjFyZW07XG4gICAgaGVpZ2h0OiA2MC8xNioxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcbiAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc2lkZWJhci1sYXlvdXRfX3NpZGUtdG9nZ2xlLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIzMG1zIGVhc2U7XG59XG5cbi5zaWRlYmFyLWxheW91dC5pcy1vcGVuIC5zaWRlYmFyLWxheW91dF9fc2lkZS10b2dnbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG4uc2lkZWJhci1sYXlvdXQuaXMtb3BlbiAuc2lkZWJhci1sYXlvdXRfX3NpZGUtdG9nZ2xlLWljb24ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn0iLCIkc2Nyb2xsYmFyV2lkdGg6IC4zNzVyZW07XG5cbkBtaXhpbiBzY3JvbGxiYXIoJHNjcm9sbGJhcldpZHRoOiAkc2Nyb2xsYmFyV2lkdGgpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgOC8xNioxcmVtIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXktNDAwLCAuMyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgd2lkdGg6ICRzY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHNjcm9sbGJhcldpZHRoO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS00MDAsIC4xKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxMjBtcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLCAuMyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXktNDAwLCAuOSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTQwMCwgLjkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywgLjkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5maWx0ZXItYmFyIHtcbiAgICBwYWRkaW5nOiAxMC8xNioxcmVtIDA7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbn1cbi5maWx0ZXItYmFyX19jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwO1xufVxuXG4uZmlsdGVyLWJhcl9fZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzI1cmVtO1xufVxuXG4uZmlsdGVyLWJhcl9fZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuLmZpbHRlci1iYXJfX2Ryb3Bkb3duIC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbn0iLCJAaW1wb3J0IFwicG9ydGFsLWVuZ2luZS1idW5kbGUvc3R5bGVzL2NvbXBvbmVudHMvZmlsdGVyLWJhclwiO1xuXG4uZmlsdGVyLWJhciB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmZpbHRlci1iYXJfX2NvbGxhcHNlIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuJHJlYWN0U2VsZWN0Qkc6ICNmZmY7XG5cbi5maWx0ZXItYmFyIC5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSB7XG4gICAgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWFjdFNlbGVjdEJHO1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkZGFyaywgJGxpZ2h0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvci15aXEoJHJlYWN0U2VsZWN0QkcsICRkYXJrLCAkbGlnaHQpLCAuMyk7XG4gICAgfVxuXG4gICAgLnJlYWN0LXNlbGVjdF9fY29udHJvbDpob3ZlcixcbiAgICAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1tZW51LWlzLW9wZW4ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkZGFyaywgJGxpZ2h0KSwgLjMpO1xuICAgIH1cbiAgICAucmVhY3Qtc2VsZWN0X19wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKGNvbG9yLXlpcSgkcmVhY3RTZWxlY3RCRywgJGRhcmssICRsaWdodCksIC41KTtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9faW5wdXQsXG4gICAgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyLS1oYXMtdmFsdWUge1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkZGFyaywgJGxpZ2h0KTtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9fY2xlYXItaW5kaWNhdG9yLFxuICAgIC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKGNvbG9yLXlpcSgkcmVhY3RTZWxlY3RCRywgJGRhcmssICRsaWdodCksIC41KTtcbiAgICB9XG5cbiAgICAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci15aXEoJHJlYWN0U2VsZWN0QkcsICRkYXJrLCAkbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkbGlnaHQsICRkYXJrKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX2xhYmVsLFxuICAgIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX3JlbW92ZTpob3ZlcixcbiAgICAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fcmVtb3ZlOmZvY3VzLFxuICAgIC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6YWN0aXZlLCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkZGFyaywgJGxpZ2h0KSwgLjcpO1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRyZWFjdFNlbGVjdEJHLCAkbGlnaHQsICRkYXJrKTtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9fbWVudSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWFjdFNlbGVjdEJHO1xuICAgICAgICBjb2xvcjogcmdiYShjb2xvci15aXEoJHJlYWN0U2VsZWN0QkcsICRkYXJrLCAkbGlnaHQpLCAuNSk7XG4gICAgfVxuICAgIC5yZWFjdC1zZWxlY3RfX29wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWFjdFNlbGVjdEJHO1xuICAgICAgICBjb2xvcjogcmdiYShjb2xvci15aXEoJHJlYWN0U2VsZWN0QkcsICRkYXJrLCAkbGlnaHQpLCAuNyk7XG4gICAgfVxuICAgIC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtZm9jdXNlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRwcmltYXJ5KTtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdF9fb3B0aW9uLS1pcy1zZWxlY3RlZCxcbiAgICAucmVhY3Qtc2VsZWN0X19vcHRpb246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiBjb2xvci15aXEoJHByaW1hcnkpO1xuICAgIH1cbn0iLCIucGFnaW5hdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNC8xNioxcmVtO1xuICAgIG1hcmdpbi10b3A6IDI0LzE2KjFyZW07XG59XG5cbi5wYWdlLWl0ZW06bm90KC5sYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMi8xNioxcmVtO1xufVxuLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICBAaWYgJGJ0bnMtcm91bmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyg1MCUpO1xuICAgIH1cblxufVxuLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICBAaWYgJGJ0bnMtcm91bmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoNTAlKTtcbiAgICB9XG59XG4ucGFnZS1saW5rIHtcbiAgICB3aWR0aDogMzAvMTYqMXJlbTtcbiAgICBoZWlnaHQ6IDMwLzE2KjFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmICRidG5zLXJvdW5kZWQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbn1cbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS42NSk7XG4gICAgZm9udC1zaXplOiA4LzE2KjFyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbn1cblxuLnBhZ2UtaXRlbV9fZG90IHtcbiAgICB3aWR0aDogNS8xNioxcmVtO1xuICAgIGhlaWdodDogNS8xNioxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS00MDA7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDgvMTYqMXJlbTtcbiAgICB9XG59IiwiLyogYnV0dG9uIHN0eWxlcyAqL1xuLmJ0bi5idG4td2l0aC1hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnRuLWFkZG9uLXNpemUgKyAuNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidG4tYWRkb24tc2l6ZSArIDE1LzE2KjFyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG4gICAgfVxufVxuLmJ0bi1ibG9jay5idG4td2l0aC1hZGRvbiB7XG4gICAgcGFkZGluZy1yaWdodDogJGJ0bi1hZGRvbi1zaXplICsgLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnRuLWFkZG9uLXNpemUgKyAxNS8xNioxcmVtO1xuICAgIH1cbn1cbi5idG4td2l0aC1hZGRvbi5idG4tc20ge1xuICAgIHBhZGRpbmctbGVmdDogJGJ0bi1hZGRvbi1zaXplICsgLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5idG5fX2FkZG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNC8xNioxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci15aXEoJGRhcmspO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICB3aWR0aDogJGJ0bi1hZGRvbi1zaXplO1xuICAgIGhlaWdodDogJGJ0bi1hZGRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYnRuX19hZGRvbi0tcHVsc2luZzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMS4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogLTE7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNik7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbn1cblxuLmJ0bl9faWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IC0uMWVtO1xufVxuXG5cbi8qIGJ1dHRvbiBzaXplcyAqL1xuLmJ0bi1zbSAuYnRuX19hZGRvbiB7XG4gICAgd2lkdGg6ICRidG4tYWRkb24tc2l6ZSAqIDAuNzU7XG4gICAgaGVpZ2h0OiAkYnRuLWFkZG9uLXNpemUgKiAwLjc1O1xufVxuXG5cbi8qIGJ1dHRvbiBtb2RpZmllciAgKi9cbi5idG4tcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG59XG4uYnRuLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG59XG5cbi8qIGV4dHJhIGJ1dHRvbiBjb2xvciAqL1xuLmJ0bi1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS03MDA7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkZ3JheS03MDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkZ3JheS03MDAsIDE1JSk7XG4gICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGdyYXktNzAwKTtcbiAgICB9XG59XG4uYnRuLW91dGxpbmUtZ3JheSB7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTcwMDtcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktNzAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS03MDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuLmJ0bi1uby1zdHlsaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59IiwiLmJ0bi1yb3dfX2J0biB7XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLnRlYXNlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogMTQgLyAxNiAqIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi50ZWFzZXItLXNoYWRvdy1zbSB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG59XG5cbi50ZWFzZXIuaXMtYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgkYmxhY2ssIC4zKTtcbn1cblxuLnRlYXNlcl9faW1nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuLnRlYXNlcl9fb3B0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmF5LTkwMCwgLjgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwIC8gMTYgKjFyZW07XG59XG4udGVhc2VyOmhvdmVyIC50ZWFzZXJfX29wdGlvbnMge1xuICAgIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgKGhvdmVyOiBub25lKSBhbmQgKHBvaW50ZXI6Y29hcnNlKSB7XG4gICAgLnRlYXNlcjpob3ZlciAudGVhc2VyX19vcHRpb25zIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLnRlYXNlcl9fb3B0aW9ucy5pcy1vcGVuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4udGVhc2VyIC5hY3Rpb24tYmFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1pbi1vdXQ7XG59XG4udGVhc2VyOmhvdmVyIC5hY3Rpb24tYmFyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnRlYXNlcl9fc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMC8xNiAqIDFyZW07XG4gICAgbGVmdDogMTAvMTYgKiAxcmVtO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xufVxuLnRlYXNlcl9fYm9keSB7XG4gICAgcGFkZGluZzogMjAvMTYgKiAxcmVtIDEwLzE2ICogMXJlbSAxNS8xNiAqIDFyZW07XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbi50ZWFzZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEwLzE2ICogMXJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG59XG4udGVhc2VyX19iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgcmlnaHQ6IC41cmVtO1xuICAgIG9wYWNpdHk6IC43O1xuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOmNvYXJzZSkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgfVxufVxuIiwiQGltcG9ydCBcInBvcnRhbC1lbmdpbmUtYnVuZGxlL3N0eWxlcy9jb21wb25lbnRzL3RlYXNlclwiO1xuXG4udGVhc2VyX19iYWRnZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLnRlYXNlcl9fYmFkZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogLjI1cmVtO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgcmlnaHQ6IC41cmVtO1xuICAgIG9wYWNpdHk6IC43O1xuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOmNvYXJzZSkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxufVxuXG4udGVhc2VyX19vcHRpb25zIHtcbiAgICAvKiBpbmNyZWFzZSB6LWluZGV4IHRvIHB1dCBpdCBhYm92ZSBiYWRnZXMgKi9cbiAgICB6LWluZGV4OiAxO1xufSIsIi5saXN0LXRlYXNlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogMTIgLyAxNiAqIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNCAvIDE2ICogMXJlbTtcbiAgICB9XG59XG5cbi5saXN0LXRlYXNlcl9fYm9keSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDFyZW0gMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNCAvIDE2ICogMXJlbTtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAycmVtO1xuICAgIH1cbn1cblxuLmxpc3QtdGVhc2VyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNC8xNioxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cbi5saXN0LXRlYXNlcl9fY29sLWRpdmlkZXI6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMjAvMTYqMXJlbTtcbiAgICAgICAgd2lkdGg6IDIvMTYqMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgIG9wYWNpdHk6IC4yO1xuICAgIH1cbn1cblxuLmxpc3QtdGVhc2VyX19hZGRpdGlvbmFsLWJvZHkge1xuICAgIHBhZGRpbmc6IC41cmVtIDEuMjVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTQwMDtcbn0iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLm1haW4tbmF2LS1sZXZlbC0wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMy8xNioxcmVtO1xuICAgICAgICBtYXJnaW46IDAgLTgvMTYqMXJlbTtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZfX2xpc3QtLWxldmVsLTAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5tYWluLW5hdl9faXRlbS0tbGV2ZWwtMCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4ubWFpbi1uYXZfX2l0ZW0tY29udGVudC0tbGV2ZWwtMCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEwLzE2KjFyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZfX2l0ZW0tLWxldmVsLTA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYvMTYqMXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICB9XG59XG5cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgIHtcbiAgICAubWFpbi1uYXZfX2l0ZW0tY29udGVudC0tbGV2ZWwtMCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZfX2l0ZW1fX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUvMTYqMXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiA1LzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAvMTYqMXJlbTtcbiAgICB9XG59XG4uaXMtYWN0aXZlIC5tYWluLW5hdl9faXRlbV9faWNvbl9faWNvbiB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHdoaXRlKTtcbn1cblxuLmlzLWFjdGl2ZSAubWFpbi1uYXZfX2l0ZW1fX2ljb25fX2JnIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubWFpbi1uYXZfX2l0ZW1fX2ljb25fX2ljb24ge1xuICAgIHdpZHRoOiAzNS8xNioxcmVtO1xuICAgIGhlaWdodDogMzUvMTYqMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRwcmltYXJ5KTtcblxuICAgIEBpZiAkYnRucy1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIEBpZiAkbmF2LWljb24tZ3JhZGllbnRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDAuNjlkZWcsICRwcmltYXJ5IDAlLCAkZGFyayAxMDAlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIHdpZHRoOiA0MC8xNioxcmVtO1xuICAgICAgICBoZWlnaHQ6IDQwLzE2KjFyZW07XG4gICAgfVxufVxuLm1haW4tbmF2X19pdGVtX19pY29uX19pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDE0LzE2KjFyZW07XG4gICAgaGVpZ2h0OiAxNC8xNioxcmVtO1xuICAgIGZpbGw6IGNvbG9yLXlpcSgkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgfVxufVxuLmlzLWFjdGl2ZSAubWFpbi1uYXZfX2l0ZW1fX2ljb25fX2ljb24gc3ZnIHtcbiAgICBmaWxsOiBjb2xvci15aXEoJHdoaXRlKTtcbn1cbi5tYWluLW5hdl9faXRlbV9faWNvbl9fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMzAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLWluLW91dDtcblxuICAgIEBpZiAkYnRucy1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgQGlmICRidG5zLXJvdW5kZWQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubWFpbi1uYXYtLWxldmVsLTEge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1LzE2KjFyZW0gMjUvMTYqMXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAyODAvMTYqMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCA0MC8xNioxcmVtIDQwLzE2KjFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBwYWRkaW5nOiAxNS8xNioxcmVtIDUwLzE2KjFyZW07XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5tYWluLW5hdl9faXRlbTpob3ZlciA+IC5tYWluLW5hdi0tbGV2ZWwtMSxcbiAgICAubWFpbi1uYXZfX2l0ZW0uaXMtb3BlbiA+IC5tYWluLW5hdi0tbGV2ZWwtMSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2X19pdGVtLWNvbnRlbnQtLWxldmVsLTEge1xuICAgICAgICBwYWRkaW5nOiA1LzE2KjFyZW0gMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5tYWluLW5hdl9faXRlbS1jb250ZW50LS1sZXZlbC0xOmhvdmVyLFxuICAgIC5tYWluLW5hdl9faXRlbS1jb250ZW50LS1sZXZlbC0xOmZvY3VzLFxuICAgIC5tYWluLW5hdl9faXRlbS1jb250ZW50LS1sZXZlbC0xOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB9XG59IiwiLm1haW4tbmF2YmFyX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aC8yO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGgvMjtcbiAgICB9XG59XG5cbi5tYWluLW5hdmJhcl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWNvbG9yO1xuICAgIC8qIFtTVEFSVCBDQVVUSU9OXSBSZWxldmFudCBmb3IgZnJvbnRlbmQgY3VzdG9taXphdGlvbiBzdHJfcmVwbGFjZSAqL1xuICAgIEBpZiAkaGVhZGVyLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJGhlYWRlci1jb2xvciAwJSAsICRncmF5LTkwMCA4MCUpO1xuICAgIH1cbiAgICAvKiBbRU5EIENBVVRJT05dICovXG5cbiAgICBjb2xvcjogY29sb3IteWlxKCRoZWFkZXItY29sb3IpO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMS40cmVtIDA7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZiYXJfX3RvcF9faXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDQvMTYqMXJlbSAwO1xufVxuLm1haW4tbmF2YmFyX190b3BfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2VyO1xufVxuLm1haW4tbmF2YmFyX190b3BfX2l0ZW1fX2ljb24ge1xuICAgIGhlaWdodDogMjIvMTYqMXJlbTtcbn1cbi5tYWluLW5hdmJhcl9fZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMTQvMTYqMXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDE1LzE2KjFyZW0gMjUvMTYqMXJlbTtcbiAgICBtaW4td2lkdGg6IDIwMC8xNioxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogY29sb3IteWlxKCR3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCA0MC8xNioxcmVtIDQwLzE2KjFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgei1pbmRleDogNDtcbn1cbi5tYWluLW5hdmJhcl9fdG9wX19pdGVtLmlzLW9wZW4gLm1haW4tbmF2YmFyX19kcm9wZG93bixcbi5tYWluLW5hdmJhcl9fdG9wX19pdGVtOmhvdmVyIC5tYWluLW5hdmJhcl9fZHJvcGRvd24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5tYWluLW5hdmJhcl9fZHJvcGRvd25fX2xpbmsge1xuICAgIHBhZGRpbmc6IDgvMTYqMXJlbSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOiBjb2Fyc2UpLCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm1haW4tbmF2X19pdGVtLmhhcy1jaGlsZHJlbiA+IC5tYWluLW5hdl9faXRlbS1jb250ZW50LS1saW5rLFxuICAgIC5tYWluLW5hdmJhcl9fdG9wX19pdGVtLmhhcy1jaGlsZHJlbiA+IC5tYWluLW5hdmJhcl9fdG9wX19pdGVtLWNvbnRlbnQtLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFpbi1uYXZfX2l0ZW0uaGFzLW5vLWNoaWxkcmVuID4gLm1haW4tbmF2X19pdGVtLWNvbnRlbnQtLXRvZ2dsZSxcbiAgICAubWFpbi1uYXZiYXJfX3RvcF9faXRlbS5oYXMtbm8tY2hpbGRyZW4gPiAubWFpbi1uYXZiYXJfX3RvcF9faXRlbS1jb250ZW50LS10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFpbi1uYXZfX2l0ZW0uaGFzLWNoaWxkcmVuID4gLm1haW4tbmF2X19pdGVtLWNvbnRlbnQtLXRvZ2dsZSxcbiAgICAubWFpbi1uYXZiYXJfX3RvcF9faXRlbS5oYXMtY2hpbGRyZW4gPiAubWFpbi1uYXZiYXJfX3RvcF9faXRlbS1jb250ZW50LS10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbn1cblxuLm1haW4tbmF2X19pdGVtLWNvbnRlbnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1haW4tbmF2YmFyX190b3BfX2l0ZW0tY29udGVudC0tdG9nZ2xlLFxuLm1haW4tbmF2X19pdGVtLWNvbnRlbnQtLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5tYWluLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMTQvMTYqMXJlbTtcbn1cblxuLm1haW4tbmF2X190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1LzE2KjFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZiYXJfX3RvcF9fc2VhcmNoIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLWd1dHRlci13aWR0aDtcbiAgICB9XG59XG4ubWFpbi1uYXZiYXJfX3RvcF9fc2VhcmNoIC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG59XG4ubWFpbi1uYXZiYXJfX3RvcF9fc2VhcmNoIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDEwLzE2KjFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEwLzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbn1cbi50eXBlYWhlYWQgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MC8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDc4LzE2KjFyZW07XG4gICAgfVxufVxuLm1haW4tbmF2YmFyX190b3BfX3NlYXJjaCAucmJ0LW1lbnUge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDAvMTYqMXJlbSk7XG4gICAgbWFyZ2luOiAwIDIwLzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDAvMTYqMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDAvMTYqMXJlbTtcbiAgICB9XG59XG5cbi5tYWluLW5hdmJhcl9fbG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDc0cHg7XG59IiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLm1haW4tbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlciAwO1xuICAgIH1cbiAgICAuaXMtb3BlbiA+IC5tYWluLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXG4gICAgLm1haW4tbmF2X19pdGVtLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBsZXZlbCAwICovXG4gICAgLm1haW4tbmF2LS1sZXZlbC0wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3OS8xNioxcmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IDEyMG1zIGVhc2U7XG4gICAgfVxuICAgIC5tYWluLW5hdi0tbGV2ZWwtMC5pcy1vcGVuIHtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAuaXMtb3BlbiA+IC5tYWluLW5hdl9faXRlbS1jb250ZW50LS1sZXZlbC0wIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cblxuXG4gICAgLm1haW4tbmF2LS1sZXZlbC0xIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktMzAwO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyO1xuICAgIH1cbn1cbi5tYWluLW5hdmJhcl9fdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLm1haW4tbmF2YmFyX190b2dnbGVfX2xpbmUge1xuICAgIHdpZHRoOiAyOC8xNioxcmVtO1xuICAgIGhlaWdodDogMy8xNioxcmVtO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLXlpcSgkcHJpbWFyeSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDIwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUvMTYqMXJlbTtcbiAgICB9XG59XG5cbi5pcy1vcGVuIC5tYWluLW5hdmJhcl9fdG9nZ2xlX19saW5lIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01cHgpIHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAzcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuXG4ubWFpbi1uYXZfX2NvbGxhcHNlLWljb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogLjVlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuLmlzLW9wZW4gPiAubWFpbi1uYXZfX2l0ZW0tY29udGVudCA+IC5tYWluLW5hdl9fY29sbGFwc2UtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuXG4ubWFpbi1uYXZiYXJfX3RvcF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWFpbi1uYXZiYXJfX3RvcF9faXRlbV9faWNvbiB7XG4gICAgaGVpZ2h0OiAyMC8xNioxcmVtO1xuICAgIG1pbi13aWR0aDogMjAvMTYqMXJlbTtcbn0iLCIubWFpbi1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGRhcmspO1xuICAgIHBhZGRpbmc6IDMwLzE2KjFyZW0gMDtcbiAgICBmb250LXNpemU6IDE0LzE2KjFyZW07XG59XG4uY29weXJpZ2h0LWJhciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkcHJpbWFyeSk7XG4gICAgcGFkZGluZzogMTIvMTYqMXJlbTtcbiAgICBmb250LXNpemU6IDE0LzE2KjFyZW07XG59XG4ubWFpbi1mb290ZXJfX2xvZ28ge1xuICAgIG1heC1oZWlnaHQ6IDc0cHg7XG59IiwiQGltcG9ydCBcInBvcnRhbC1lbmdpbmUtYnVuZGxlL3N0eWxlcy9jb21wb25lbnRzL21haW4tZm9vdGVyXCI7XG5cbi5tYWluLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3A6IDEvMTYqMXJlbSBzb2xpZCAkZ3JheS0zMDA7XG59IiwiLmZvcm0tY29udHJvbC1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbn1cbi5mb3JtLWNvbnRyb2wsXG4ucmVhY3Qtc2VsZWN0LFxuLnJlYWN0LXNlbGVjdF9faW5wdXQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mb3JtLWdyb3VwLS1jdXN0b20gbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDUvMTYqMXJlbTtcbiAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbn1cblxuLyogY29sb3JzICovXG4uZm9ybS1jb250cm9sLS1kYXJrLFxuLmZvcm0tY29udHJvbC0tZGFyazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkZGFyaztcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbn1cblxuLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNvbnRyb2wtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGZvcm0tY29udHJvbC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuLmZvcm0tZ3JvdXAtLWN1c3RvbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbn1cblxuLmZvcm0tY29udHJvbC0tY2FyZC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cbi5mb3JtLWNvbnRyb2wtLWNhcmQtaGVhZGVyX19jb2xsYXBzZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC43NXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xufVxuLmZvcm0tY29udHJvbC0tY2FyZC1oZWFkZXIuaXMtb3BlbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuLmZvcm0tY29udHJvbC0tY2FyZC1oZWFkZXIuaXMtb3BlbiAuZm9ybS1jb250cm9sLS1jYXJkLWhlYWRlcl9fY29sbGFwc2UtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xufSIsIi5mb3JtLWNvbnRyb2wtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwLzE2KjFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAkZGFyaztcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbGVmdDogMzAvMTYqMXJlbTtcbiAgICB9XG59XG4uZm9ybS1jb250cm9sLWljb24gKyAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwLzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNzgvMTYqMXJlbTtcbiAgICB9XG59IiwiLmN1c3RvbS1jaGVja2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMzAvMTYqMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yODtcbn1cblxuLmN1c3RvbS1jaGVja2JveDpiZWZvcmUsXG4uY3VzdG9tLWNoZWNrYm94OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmN1c3RvbS1jaGVja2JveDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5jdXN0b20tY2hlY2tib3g+bGFiZWx7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tY2hlY2tib3hfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGNhbGMoMXJlbS8xNik7XG4gICAgaGVpZ2h0OiBjYWxjKDFyZW0vMTYpO1xuICAgIG1hcmdpbjogY2FsYygtMXJlbS8xNik7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgYm9yZGVyOiAwO1xufVxuLmN1c3RvbS1jaGVja2JveF9faW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNoZWNrYm94X19ib3gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDIvMTYqMXJlbSAyLzE2KjFyZW0gMi8xNioxcmVtIDAgcmdiYSgkcHJpbWFyeSwgLjQpO1xufVxuLmN1c3RvbS1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tib3hfX2JveCAuY3VzdG9tLWNoZWNrYm94X19ib3hfX2ljb24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5jdXN0b20tY2hlY2tib3hfX2JveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMy8xNioxcmVtO1xuICAgIGhlaWdodDogMjEvMTYqMXJlbTtcbiAgICB3aWR0aDogMjEvMTYqMXJlbTtcbiAgICBib3JkZXI6IDEvMTYqMXJlbSBzb2xpZCAkZ3JheS00MDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDIvMTYqMXJlbSAyLzE2KjFyZW0gMi8xNioxcmVtIDAgcmdiYSgkYmxhY2ssIC4yKTtcbn1cbi5jdXN0b20tY2hlY2tib3hfX2JveF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00MCUsIC00NSUpO1xuICAgIHdpZHRoOiA3MCU7XG59XG4uaGFzLWVycm9yIC5jdXN0b20tY2hlY2tib3hfX2JveCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZGFuZ2VyXG59XG4uY3VzdG9tLWNoZWNrYm94X190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94LS1oaWRkZW4tbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwLzE2KjFyZW07XG59XG5cbi5jdXN0b20tY2hlY2tib3gtLWhpZGRlbi1sYWJlbCAuY3VzdG9tLWNoZWNrYm94X19ib3gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jdXN0b20tY2hlY2tib3gtLWhpZGRlbi1sYWJlbCAuY3VzdG9tLWNoZWNrYm94X190ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcbn0iLCIuY3VzdG9tLXJhZGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMC8xNioxcmVtO1xufVxuXG4uY3VzdG9tLXJhZGlvOmJlZm9yZSxcbi5jdXN0b20tcmFkaW86YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY3VzdG9tLXJhZGlvOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmN1c3RvbS1yYWRpbz5sYWJlbHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1yYWRpb19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogY2FsYygxcmVtLzE2KTtcbiAgICBoZWlnaHQ6IGNhbGMoMXJlbS8xNik7XG4gICAgbWFyZ2luOiBjYWxjKC0xcmVtLzE2KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jdXN0b20tcmFkaW9fX2JveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMS8xNioxcmVtO1xuICAgIGhlaWdodDogMjIvMTYqMXJlbTtcbiAgICB3aWR0aDogMjIvMTYqMXJlbTtcbiAgICBib3JkZXI6IDEvMTYqMXJlbSBzb2xpZCAkZ3JheS00MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAyLzE2KjFyZW0gMi8xNioxcmVtIDIvMTYqMXJlbSAwIHJnYmEoJGJsYWNrLCAuMik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRvcDogNy8xNioxcmVtO1xuICAgICAgICBsZWZ0OiA3LzE2KjFyZW07XG4gICAgICAgIHdpZHRoOiA3LzE2KjFyZW07XG4gICAgICAgIGhlaWdodDogNy8xNioxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxufVxuLmN1c3RvbS1yYWRpb19faW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLXJhZGlvX19ib3gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDIvMTYqMXJlbSAyLzE2KjFyZW0gMi8xNioxcmVtIDAgcmdiYSgkcHJpbWFyeSwgLjQpO1xufVxuLmN1c3RvbS1yYWRpb19faW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tcmFkaW9fX2JveDpiZWZvcmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5oYXMtZXJyb3IgLmN1c3RvbS1yYWRpb19fYm94IHtcbiAgICBib3JkZXItY29sb3I6ICRkYW5nZXJcbn1cbi5jdXN0b20tcmFkaW9fX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59IiwiLnNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNlbGVjdCBzZWxlY3Qge1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zZWxlY3Qgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNlbGVjdF9faWNvbiB7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcmlnaHQ6IDIwLzE2KjFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG59IiwiLmNhcmQtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE4LzE2KjFyZW0gMjAvMTYqMXJlbTtcbiAgICB9XG59XG4uY2FyZC1oZWFkZXJfX2J0biB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbn1cblxuLmNhcmQtaGVhZGVyX19idG5fX2ljb24ge1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwLzE2KjFyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZXI7XG4gICAgfVxufVxuLmNhcmQuaXMtb3BlbiAuY2FyZC1oZWFkZXJfX2J0bl9faWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmNhcmQgKyAuY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmFjY29yZGlvbiA+IC5jYXJkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmFjY29yZGlvbiA+IC5jYXJkOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG59XG5cbi5jb2xsYXBzZS1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAyNTBtcyBlYXNlLWluLW91dDtcbn1cblxuLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLyogY29sb3JzICovXG4uY2FyZC0tbGlnaHQge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktNTAwO1xufVxuLmNhcmQtLWxpZ2h0IC5jYXJkLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5hY2NvcmRpb24gPiAuY2FyZC0tbGlnaHQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktNTAwO1xufSIsIi5maWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMS8xNioxcmVtIHNvbGlkICRncmF5LTIwMDtcbiAgICBwYWRkaW5nOiAxOC8xNioxcmVtIDEwLzE2KjFyZW0gMTAvMTYqMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMjUvMTYqMXJlbSAyMC8xNioxcmVtIDIwLzE2KjFyZW07XG4gICAgfVxufVxuLmZpZWxkc2V0X190aXRsZSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNS8xNioxcmVtO1xuICAgIHBhZGRpbmc6IDAgNS8xNioxcmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbGVmdDogMTIvMTYqMXJlbTtcbiAgICAgICAgcGFkZGluZzogMCA4LzE2KjFyZW07XG4gICAgfVxufSIsIi5uYXYtdGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGluY2x1ZGUgc2Nyb2xsYmFyKCk7XG59XG4ubmF2LXRhYnMgLm5hdi1pdGVtIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxMC8xNioxcmVtIDE1LzE2KjFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gICAgfVxufVxuLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLm5hdi1saW5rX19pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYvMTYqMXJlbTtcbiAgICB3aWR0aDogMjAvMTYqMXJlbTtcbn1cblxuLm5hdi10YWJzLm5hdi1sZXZlbC0tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAvMTYqMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzAvMTYqMXJlbTtcblxuICAgICAgICBAaWYgJGJ0bnMtcm91bmRlZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG59XG4ubmF2LWxldmVsLS0xICsgLnRhYi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjAvMTYqMXJlbTtcbiAgICB9XG59XG4ubmF2LWxldmVsLS0xID4gLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmF2LWxldmVsLS0xID4gLm5hdi1pdGVtOm5vdCg6bGFzdC1jaGlsZCkgLm5hdi1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTE1LzE2KjFyZW07XG4gICAgICAgIGhlaWdodDogMjAvMTYqMXJlbTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMjAvMTYqMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIH1cbn1cbi5uYXYtbGV2ZWwtLTEgPiAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAxMC8xNioxcmVtIDQvMTYqMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiAxNC8xNioxcmVtIDEwLzE2KjFyZW07XG5cbiAgICAgICAgQGlmICRidG5zLXJvdW5kZWQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDE2LzE2KjFyZW07XG4gICAgfVxufVxuLm5hdi1sZXZlbC0tMSA+IC5uYXYtaXRlbSAubmF2LWxpbms6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNy8xNioxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgfVxufVxuXG4ubmF2LXRhYnM6bm90KC5uYXYtbGV2ZWwtLTEpICsgLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgICBib3JkZXI6IDEvMTYqMXJlbSBzb2xpZCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDIwLzE2KjFyZW07XG4gICAgfVxufVxuXG4vL3RhYnMgc2l6ZXNcbi5uYXYtdGFicy0tbGcgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZzogMTUvMTYqMXJlbSA1MC8xNioxcmVtO1xuICAgIH1cbn1cblxuXG4vLyB0YWJzIHdpdGggYmFja2dyb3VuZFxuLm5hdi10YWJzLS1iZyArIC50YWItY29udGVudCAudGFiLXBhbmUsXG4ubmF2LXRhYnMtLWJnICsgLnRhYi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xufVxuLnRhYi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzAvMTYqMXJlbSA1MC8xNioxcmVtO1xufVxuXG4vL2NvbG9yc1xuLm5hdi10YWJzLS1kYXJrIC5hY3RpdmUubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGRhcmspO1xufVxuXG4vL21vYmlsZSB0YWIgYmFyXG4ubmF2LXRhYnMubmF2LXRhYnMtLWJhci1zbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwLzE2KjFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTMwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXItd2lkdGgvMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyLXdpZHRoLzI7XG4gICAgfVxufVxuLm5hdi10YWJzLS1iYXItc20gPiAubmF2LWl0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbi5uYXYtdGFicy0tYmFyLXNtID4gLm5hdi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aC8yO1xuICAgIH1cbn1cbi5uYXYtdGFicy0tYmFyLXNtID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxufVxuLm5hdi10YWJzLS1iYXItc20gPiAubmF2LWl0ZW0gPiAubmF2LWxpbmsuYWN0aXZlOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNC8xNioxcmVtO1xuICAgIH1cbn1cbi5uYXYtaXRlbV9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59IiwiLm5hdi1waWxscyB7XG4gICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogMS8xNioxcmVtIHNvbGlkICRzZWNvbmRhcnk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAxMi8xNioxcmVtIDE1LzE2KjFyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZyk7XG59IiwiLmltYWdlLXRlYXNlciB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkZGFyayk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5pbWFnZS10ZWFzZXJfX2ltZ3tcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uaW1hZ2UtdGVhc2VyOmhvdmVyIC5pbWFnZS10ZWFzZXJfX2ltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cbi5pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMTAvMTYqMXJlbSAxMi8xNioxcmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJGRhcmssIDApIDAlLCByZ2JhKCRkYXJrLCAuNykgMTAwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE4LzE2KjFyZW0gMjAvMTYqMXJlbTtcbiAgICB9XG59XG5cbi5pbWFnZS10ZWFzZXJfX2NvbnRlbnRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMjQvMTYqMXJlbTtcbn1cblxuLmltYWdlLXRlYXNlci0tc20gLmltYWdlLXRlYXNlcl9fY29udGVudF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn0iLCIubWVkaWEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1lZGlhX19vcHRpb25zIHtcbiAgICBwYWRkaW5nOiA4LzE2KjFyZW0gNi8xNioxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbi5tZWRpYV9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDUvMTYqMXJlbTtcbiAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbn1cbi5tZWRpYV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMzAwO1xufSIsIi5jb250ZW50LXRlYXNlciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jb250ZW50LXRlYXNlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMzQvMTYqMXJlbSAyNC8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBwYWRkaW5nOiA1MC8xNioxcmVtO1xuICAgIH1cbn1cbi5jb250ZW50LXRlYXNlcl9fY29udGVudF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEyLzE2KjFyZW07XG5cbiAgICBmb250LXNpemU6IDE0LzE2KjFyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNi8xNioxcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgZm9udC1zaXplOiA0Mi8xNioxcmVtO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtdGVhc2VyX19pbWcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLmNvbnRlbnQtdGVhc2VyX19pbWcgPiBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG59XG5cbi5jb250ZW50LXRlYXNlci0tbWVkaWEtbGVmdCAuY29udGVudC10ZWFzZXJfX2ltZyA+IGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbn0iLCIuYnJlYWRjcnVtYiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufSIsIi5hY3Rpb24tYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5hY3Rpb24tYmFyLS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5hY3Rpb24tYmFyX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogOC8xNiAqIDFyZW07XG59XG5cbi5hY3Rpb24tYmFyX19idXR0b24ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQsIHotaW5kZXggMC4wMW1zIDIwMDBtcztcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBjb2xvcjogY29sb3IteWlxKCRkYXJrKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFjdGlvbi1iYXJfX2l0ZW06aG92ZXIgLmFjdGlvbi1iYXJfX2J1dHRvbixcbi5hY3Rpb24tYmFyX19idXR0b246aG92ZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dCwgei1pbmRleCAwLjAxbXM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQyKTtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRkYXJrO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGRhcmspO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLmFjdGlvbi1iYXJfX2l0ZW1fX3RpdGxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBmb250LXNpemU6IDgvMTYqMXJlbTtcbiAgICBwYWRkaW5nOiAyLzE2KjFyZW0gNC8xNioxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIvMTYqMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeSwgLjUpO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4uYWN0aW9uLWJhcl9faXRlbTpob3ZlciAuYWN0aW9uLWJhcl9faXRlbV9fdGl0bGUsXG4uYWN0aW9uLWJhcl9fYnV0dG9uOmhvdmVyIC5hY3Rpb24tYmFyX19pdGVtX190aXRsZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogTGlnaHQgKi9cbi5hY3Rpb24tYmFyLS1saWdodCAuYWN0aW9uLWJhcl9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS00MDA7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkZ3JheS00MDApO1xufVxuLmFjdGlvbi1iYXItLWxpZ2h0IC5hY3Rpb24tYmFyX19pdGVtOmhvdmVyIC5hY3Rpb24tYmFyX19idXR0b24sXG4uYWN0aW9uLWJhci0tbGlnaHQgLmFjdGlvbi1iYXJfX2J1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkZ3JheS00MDApO1xufVxuXG4vKiBubyB3cmFwICovXG4uYWN0aW9uLWJhci0tbm8td3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59IiwiQGltcG9ydCBcInBvcnRhbC1lbmdpbmUtYnVuZGxlL3N0eWxlcy9jb21wb25lbnRzL2FjdGlvbi1iYXJcIjtcblxuLmFjdGlvbi1iYXItLWFic29sdXRlIHtcbiAgICAvKiBpbmNyZWFzZSB6LWluZGV4IHRvIHB1dCBpdCBhYm92ZSB0ZWFzZXItb3B0aW9ucyAqL1xuICAgIHotaW5kZXg6IDI7XG59IiwiLnN0YXRlLWNpcmNsZSB7XG4gICAgd2lkdGg6IDIwLzE2KjFyZW07XG4gICAgaGVpZ2h0OiAyMC8xNioxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuM2VtO1xufSIsIi5zZWxlY3Rpb24tYmFyIHtcbiAgICBwYWRkaW5nOiAxNS8xNioxcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMS8xNioxcmVtIHNvbGlkICRncmF5LTMwMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMztcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQvMTYqMXJlbTtcbiAgICB9XG59XG4uc2VsZWN0aW9uLWJhcl9fYnRuIHtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQvMTYqMXJlbTtcbiAgICB9XG59XG4uc2VsZWN0aW9uLWJhci0tZW50ZXItYWN0aXZlLFxuLnNlbGVjdGlvbi1iYXItLWVudGVyLWRvbmUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnNlbGVjdGlvbi1iYXItLWVudGVyLWFjdGl2ZSxcbi5zZWxlY3Rpb24tYmFyLS1leGl0LWFjdGl2ZSxcbi5zZWxlY3Rpb24tYmFyLS1leGl0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZS1vdXQ7XG59XG5cbi5zZWxlY3Rpb24tYmFyX19saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGdyaWQtZ3V0dGVyLXdpZHRoLzI7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICB9XG59XG4uc2VsZWN0aW9uLWJhcl9fbGlzdC0tZW50ZXItYWN0aXZlLFxuLnNlbGVjdGlvbi1iYXJfX2xpc3QtLWVudGVyLWRvbmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG4uc2VsZWN0aW9uLWJhcl9fbGlzdC0tZW50ZXItYWN0aXZlLFxuLnNlbGVjdGlvbi1iYXJfX2xpc3QtLWV4aXQtYWN0aXZlLFxuLnNlbGVjdGlvbi1iYXJfX2xpc3QtLWV4aXQge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZS1vdXQ7XG59IiwiLnJlc3VsdC1pbmZvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlcjtcbn1cbi5yZXN1bHQtaW5mb19fZmlsdGVyIC5idG46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2VyICogLjU7XG5cbn0iLCIucG9wb3ZlciB7XG4gICAgYm94LXNoYWRvdzogJHBvcG92ZXItYm94LXNoYWRvdztcbn0iLCIuaW1hZ2UtaG90c3BvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMC8xNioxcmVtIDAgcmdiYSgkYmxhY2ssMC4xKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG59IiwiLmltYWdlLW1hcmtlciAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzAvMTYqMXJlbTtcbiAgICBoZWlnaHQ6IDMwLzE2KjFyZW07XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMi8xNioxcmVtIDIvMTYqMXJlbSByZ2JhKCRibGFjaywwLjEpO1xuXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKC44KTtcbiAgICAgICAgd2lkdGg6IDEwLzE2KjFyZW07XG4gICAgICAgIGhlaWdodDogMTAvMTYqMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpO1xuICAgIH1cbn0iLCIuaW1hZ2UtZ2FsbGVyeSB7XG4gICAgd2lkdGg6IDA7IC8vZml4IHNpZGViYXIgbGF5b3V0XG4gICAgbWluLXdpZHRoOiAxMDAlOyAvL2ZpeCBzaWRlYmFyIGxheW91dFxufVxuLmltYWdlLWdhbGxlcnkgLkJyYWluaHViQ2Fyb3VzZWx7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwLzE2KjFyZW07XG59XG4uaW1hZ2UtZ2FsbGVyeSAuQnJhaW5odWJDYXJvdXNlbF9fdHJhY2tDb250YWluZXIgLkJyYWluaHViQ2Fyb3VzZWxfX3RyYWNrIHtcbiAgICBwYWRkaW5nOiAyNS8xNioxcmVtIDA7XG59XG4uaW1hZ2UtZ2FsbGVyeSAuQnJhaW5odWJDYXJvdXNlbF9fZG90cyB7XG4gICAgbWFyZ2luLXRvcDogLTEwLzE2KjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjUvMTYqMXJlbTtcbn1cbi5pbWFnZS1nYWxsZXJ5IC5CcmFpbmh1YkNhcm91c2VsX19kb3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiA1LzE2KjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMC8xNioxcmVtO1xuICAgICAgICBoZWlnaHQ6IDEwLzE2KjFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG4gICAgfVxufVxuLmltYWdlLWdhbGxlcnkgLkJyYWluaHViQ2Fyb3VzZWxfX2RvdC5CcmFpbmh1YkNhcm91c2VsX19kb3QtLXNlbGVjdGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG59IiwiLmtleS12YWx1ZS1pdGVtIGF7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG59XG4ua2V5LXZhbHVlLWl0ZW1fX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLzE2KjFyZW07XG4gICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG59IiwiLmxhbmd1YWdlLXN3aXRjaCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktMjAwO1xuXG4gICAgLmxhbmd1YWdlLXN3aXRjaF9fc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgIH1cbn0iLCIudGFibGUgdGhlYWQgdGgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxMi8xNioxcmVtO1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi50YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbi50YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbn1cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBAaW5jbHVkZSBzY3JvbGxiYXIoKTtcbn1cblxuLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlOmFmdGVyLFxuLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xufVxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cbi5kcm9wZG93bi1tZW51IHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuLmRyb3Bkb3duLWl0ZW0uYWN0aXZlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG4uZHJvcGRvd24tLXNtIC5kcm9wZG93bi10b2dnbGUsXG4uZHJvcGRvd24tLXNtIC5kcm9wZG93bi1tZW51IHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59IiwiLnRyZWUge1xuICAgIHBhZGRpbmctbGVmdDogMTQvMTYqMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNi8xNioxcmVtO1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbn1cbi50cmVlLS1sZXZlbC0wIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cbi50cmVlLS1sZXZlbC0xIHtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG59XG5cbi8vLnRyZWUtLWxldmVsLTIge1xuLy8gICAgcGFkZGluZy1sZWZ0OiAxNC8xNioxcmVtO1xuLy8gICAgcGFkZGluZy10b3A6IDYvMTYqMXJlbTtcbi8vICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbi8vfVxuXG4udHJlZV9faXRlbSB7XG4gICAgbWluLXdpZHRoOiAxMHJlbTtcbn1cbi50cmVlX19pdGVtICsgLnRyZWVfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDYvMTYqMXJlbTtcbn1cbi50cmVlX19ub2RlLmlzLXNlbGVjdGVkIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuLnRyZWVfX2l0ZW1fX2NvbGxhcHNlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxufVxuLnRyZWVfX2l0ZW1fX2NvbGxhcHNlX19pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXBfZ2V0KCRzcGFjZXJzLCAyKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4udHJlZV9faXRlbV9fY29sbGFwc2UuaXMtb3BlbiA+IC50cmVlX19pdGVtX19jb2xsYXBzZV9faWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG4udHJlZV9faXRlbV9fdHlwZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLS40ZW07XG59IiwiJG92ZXJsYXktaGVhZGVyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbiRvdmVybGF5LWhlYWRlci1ib3JkZXItY29sb3I6ICRncmF5LTQwMDtcbiRvdmVybGF5LWhlYWQtYmFja2dyb3VuZDogJHdoaXRlO1xuJG92ZXJsYXktYm9keS1iYWNrZ3JvdW5kOiAkZ3JheS0zMDA7XG5cbi5vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG92ZXJsYXktYm9keS1iYWNrZ3JvdW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4ub3ZlcmxheS0tZW50ZXItYWN0aXZlLFxuLm92ZXJsYXktLWVudGVyLWRvbmUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5vdmVybGF5LS1lbnRlci1hY3RpdmUsXG4ub3ZlcmxheS0tZXhpdC1hY3RpdmUsXG4ub3ZlcmxheS0tZXhpdCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2Utb3V0O1xufVxuLm92ZXJsYXlfX2hlYWQge1xuICAgIC8vYm9yZGVyLWJvdHRvbTogJG92ZXJsYXktaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkb3ZlcmxheS1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3ZlcmxheS1oZWFkLWJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG4gICAgZmxleDogbm9uZTtcbn1cbi5vdmVybGF5X19oZWFkLWl0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMyk7XG59XG4ub3ZlcmxheV9faGVhZC1pdGVtLS1tYWluIHtcbiAgICBmbGV4OiBhdXRvO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4ub3ZlcmxheV9faGVhZC1pdGVtICsgLm92ZXJsYXlfX2hlYWQtaXRlbSB7XG4gICAgYm9yZGVyLWxlZnQ6ICRvdmVybGF5LWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG92ZXJsYXktaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cbi5vdmVybGF5X19ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2VycywgMyk7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNwYWNlcnMsIDMpO1xuXG4gICAgZmxleDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4ub3ZlcmxheV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLmJsdXItaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5ibHVyLWltYWdlX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLmJsdXItaW1hZ2VfX2JnIHtcbiAgICBmaWx0ZXI6IGJsdXIoNC8xNioxcmVtKTtcbiAgICAtd2Via2l0LWZpbHRlcjogYmx1cig0LzE2KjFyZW0pO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbn1cbiIsIi5yYnQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgfVxufVxuXG5cbi5yYnQtbWVudSB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIC8qIG92ZXJyaWRlIGlubGluZSBzdHlsZXMqL1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnJidC1tZW51IC5kcm9wZG93bi1oZWFkZXIge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIGZvbnQtc2l6ZTogLjYyNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xuICAgIG1hcmdpbjogMXJlbSAwIC41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IC4yNXJlbSBzb2xpZCAkZ3JheS0zMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAgLjc1cmVtO1xuICAgIH1cbn1cbi5yYnQtaW5wdXQtbWFpbiB7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHR9IC0gMjAvMTYqMXJlbSk7XG59XG4ucmJ0LWlucHV0IHtcbiAgICBmbGV4OiBub25lO1xufVxuLnJidC1tZW51ID4gLmRyb3Bkb3duLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAgLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAuMjVyZW0gMS43NXJlbTtcbiAgICB9XG59XG4ucmJ0LW1lbnUgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS0zMDA7XG59XG4ucmJ0LW1lbnVfX2NhdGVnb3J5LXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuLnJidC1tZW51X19jYXRlZ29yeS1saW5rIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG59XG4uZHJvcGRvd24taXRlbSAucmJ0LWhpZ2hsaWdodC10ZXh0IHtcbiAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuLnJidC10b2tlbiB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRzZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwLzE2KjFyZW07XG4gICAgcGFkZGluZzogOC8xNioxcmVtIDMwLzE2KjFyZW0gOC8xNioxcmVtIDE4LzE2KjFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxMC8xNioxcmVtO1xufVxuLnJidC10b2tlbiAucmJ0LXRva2VuLXJlbW92ZS1idXR0b24ge1xuICAgIHJpZ2h0OiA2LzE2KjFyZW07XG4gICAgdG9wOiA0LzE2KjFyZW07XG4gICAgZm9udC1zaXplOiAyMC8xNioxcmVtO1xufVxuLnJidF9fZm9ybS1pY29uIHtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgIHRvcDogMC44NzVyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgIH1cbn1cbi5yYnQtYXV4IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogLjlyZW07XG4gICAgfVxufSIsIi5tb2RhbC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHByaW1hcnkpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMC8xNioxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMzAvMTYqMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjAvMTYqMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MC8xNioxcmVtO1xuICAgIH1cblxuICAgIEBpZiAoJG1vZGFsLWdyYWRpZW50cykge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsICRwcmltYXJ5IDAlICwgJGdyYXktOTAwIDEwMCUpOztcbiAgICB9XG59XG4ubW9kYWwtaGVhZGVyIC5tb2RhbC10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4ubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMzAvMTYqMXJlbSAyMC8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiA0MC8xNioxcmVtIDMwLzE2KjFyZW07XG4gICAgfVxufVxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MyUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEyLzE2KjFyZW07XG59XG4ubW9kYWwtaGVhZGVyIC5jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLm1vZGFsLWJvZHktLW1heC1oZWlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTZ2aDtcbiAgICB9XG59IiwiLyogSW5jcmVhc2UgdGhlIHNwZWNpZnkgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3R5bGluZyAqL1xuLnJlYWN0LXNlbGVjdCAucmVhY3Qtc2VsZWN0X19jb250cm9sIHtcbiAgICBwYWRkaW5nOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gLSA0cHgpICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cbi5yZWFjdC1zZWxlY3QtLXNtIC5yZWFjdC1zZWxlY3RfX2NvbnRyb2wge1xuICAgIHBhZGRpbmc6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSAtIDRweCkgJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuLnJlYWN0LXNlbGVjdCAucmVhY3Qtc2VsZWN0X192YWx1ZS1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4ucmVhY3Qtc2VsZWN0IC5yZWFjdC1zZWxlY3RfX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG4ucmVhY3Qtc2VsZWN0IC5yZWFjdC1zZWxlY3RfX3NpbmdsZS12YWx1ZSxcbi5yZWFjdC1zZWxlY3QgLnJlYWN0LXNlbGVjdF9faW5kaWNhdG9yIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnJlYWN0LXNlbGVjdCAucmVhY3Qtc2VsZWN0X19pbmRpY2F0b3Ige1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIG1hcmdpbjogLS41cmVtO1xufVxuLnJlYWN0LXNlbGVjdCAucmVhY3Qtc2VsZWN0X19pbmRpY2F0b3Itc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8vIFNlY29uZGFyeSB2YXJpYW50XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpLCAuMyk7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fY29udHJvbDpob3Zlcixcbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1tZW51LWlzLW9wZW4ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYShjb2xvci15aXEoJHNlY29uZGFyeSwgJGRhcmssICRsaWdodCksIC4zKTtcbn1cbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpLCAuNSk7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9faW5wdXQsXG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fdmFsdWUtY29udGFpbmVyLS1oYXMtdmFsdWUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHNlY29uZGFyeSwgJGRhcmssICRsaWdodCk7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fY2xlYXItaW5kaWNhdG9yLFxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvciB7XG4gICAgY29sb3I6IHJnYmEoY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpLCAuNSk7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fY2xlYXItaW5kaWNhdG9yOmhvdmVyLFxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX2Ryb3Bkb3duLWluZGljYXRvcjpob3ZlciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHNlY29uZGFyeSwgJGxpZ2h0LCAkZGFyayk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fbGFiZWwsXG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX3JlbW92ZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fbXVsdGktdmFsdWVfX3JlbW92ZTpob3Zlcixcbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19tdWx0aS12YWx1ZV9fcmVtb3ZlOmZvY3VzLFxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX211bHRpLXZhbHVlX19yZW1vdmU6YWN0aXZlLCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvci15aXEoJHNlY29uZGFyeSwgJGRhcmssICRsaWdodCksIC43KTtcbiAgICBjb2xvcjogY29sb3IteWlxKCRzZWNvbmRhcnksICRsaWdodCwgJGRhcmspO1xufVxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX21lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgY29sb3I6IHJnYmEoY29sb3IteWlxKCRzZWNvbmRhcnksICRkYXJrLCAkbGlnaHQpLCAuNSk7XG59XG4ucmVhY3Qtc2VsZWN0LS1zZWNvbmRhcnkgLnJlYWN0LXNlbGVjdF9fb3B0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiByZ2JhKGNvbG9yLXlpcSgkc2Vjb25kYXJ5LCAkZGFyaywgJGxpZ2h0KSwgLjcpO1xufVxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX29wdGlvbi0taXMtZm9jdXNlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCAyMCUpO1xuICAgIGNvbG9yOiBjb2xvci15aXEoZGFya2VuKCRwcmltYXJ5LCAyMCUpKTtcbn1cbi5yZWFjdC1zZWxlY3QtLXNlY29uZGFyeSAucmVhY3Qtc2VsZWN0X19vcHRpb24tLWlzLXNlbGVjdGVkLFxuLnJlYWN0LXNlbGVjdC0tc2Vjb25kYXJ5IC5yZWFjdC1zZWxlY3RfX29wdGlvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJHByaW1hcnkpO1xufVxuXG4vLyBEaXNhYmxlZFxuLnJlYWN0LXNlbGVjdCAucmVhY3Qtc2VsZWN0X19jb250cm9sLS1pcy1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjc7XG59IiwiLmxlYWZsZXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbn1cblxuLmxlYWZsZXQtbWFya2VyLWljb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgZmlsbDogJHByaW1hcnk7XG4gICAgfVxufVxuXG5wYXRoLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xuICAgIHN0cm9rZTogJHByaW1hcnk7XG59XG5cbnBhdGgubGVhZmxldC1pbnRlcmFjdGl2ZTpub3QoW2ZpbGw9XCJub25lXCJdKSB7XG4gICAgZmlsbDogJHByaW1hcnk7XG59IiwiLmRhdGEtdGFibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG4uZGF0YS10YWJsZSB7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBmb250LXNpemU6IDEyLzE2KjFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBpbmNsdWRlIHNjcm9sbGJhcigpO1xufVxuLmRhdGEtdGFibGVfX3NldHRpbmdzIHtcbiAgICB3aWR0aDogNjAvMTYqMXJlbTtcbn1cbi5kYXRhLXRhYmxlIHAge1xuICAgIG1pbi13aWR0aDogMjUwLzE2KjFyZW07XG59XG4uZGF0YS10YWJsZSB0aGVhZCB0aCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwOyAvKiBEb24ndCBmb3JnZXQgdGhpcywgcmVxdWlyZWQgZm9yIHRoZSBzdGlja2luZXNzICovXG4gICAgei1pbmRleDogMjtcbiAgICBib3gtc2hhZG93OiA0LzE2KjFyZW0gMCA0LzE2KjFyZW0gMCByZ2JhKDAsMCwwLC4zKTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiAkZGFyaztcbn1cbi5kYXRhLXRhYmxlIHRoZWFkIHRoLFxuLmRhdGEtdGFibGUgdGJvZHkgdGQsXG4uZGF0YS10YWJsZSB0Ym9keSB0aCB7XG4gICAgcGFkZGluZzogMTAvMTYqMXJlbTtcbn1cbi5kYXRhLXRhYmxlX19pbWcge1xuICAgIG1pbi13aWR0aDogOTQvMTYqMXJlbTtcbiAgICB3aWR0aDogOTQvMTYqMXJlbTtcbn0iLCIubm90aWZpY2F0aW9uLWxpc3Qge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkd2hpdGUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxMjBtcyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAuOTU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAyMC8xNioxcmVtO1xuICAgICAgICBib3R0b206IDIwLzE2KjFyZW07XG4gICAgICAgIHdpZHRoOiAzNTAvMTYqMXJlbTtcbiAgICB9XG59XG4ubm90aWZpY2F0aW9uLWxpc3QuaXMtb3Blbixcbi5ub3RpZmljYXRpb24tbGlzdDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5ub3RpZmljYXRpb24tbGlzdC0tZW50ZXItYWN0aXZlLFxuLm5vdGlmaWNhdGlvbi1saXN0LS1lbnRlci1kb25lIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogLjk1O1xufVxuLm5vdGlmaWNhdGlvbi1saXN0LS1hcHBlYXItYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5ub3RpZmljYXRpb24tbGlzdF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEwLzE2KjFyZW07XG4gICAgcGFkZGluZy1yaWdodDogNDAvMTYqMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMS8xNioxcmVtIHNvbGlkICRncmF5LTQwMDtcbiAgICBmb250LXNpemU6IDEwLzE2KjFyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5vdGlmaWNhdGlvbi1saXN0X19oZWFkZXI6aG92ZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbn1cbi5ub3RpZmljYXRpb24tbGlzdF9faGVhZGVyX19jb2xsYXBzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMC8xNioxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uaXMtb3BlbiAubm90aWZpY2F0aW9uLWxpc3RfX2hlYWRlcl9fY29sbGFwc2Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbn1cbi5ub3RpZmljYXRpb24tbGlzdF9fYm9keSB7XG4gICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAaW5jbHVkZSBzY3JvbGxiYXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWFyZ2luOiA1LzE2KjFyZW0gNS8xNioxcmVtIDUvMTYqMXJlbSAwO1xuICAgIH1cbn1cbi5ub3RpZmljYXRpb24tbGlzdCBsaSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCIubm90aWZpY2F0aW9uIHtcbiAgICBwYWRkaW5nOiAxMC8xNioxcmVtO1xuICAgIGZvbnQtc2l6ZTogMTIvMTYqMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMDBtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAyMDAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwLzE2KjFyZW0gNy8xNioxcmVtIDEwLzE2KjFyZW0gMTAvMTYqMXJlbTtcbiAgICB9XG59XG4ubm90aWZpY2F0aW9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAyLzE2KjFyZW0gc29saWQgJGdyYXktNDAwO1xufVxuLm5vdGlmaWNhdGlvbl9fZGVsZXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOC8xNioxcmVtO1xufVxuLm5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMi8xNioxcmVtO1xufVxuLm5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0yMC8xNioxcmVtO1xuICAgIHRvcDogMy8xNioxcmVtO1xufVxuXG4ubm90aWZpY2F0aW9uLS1hcHBlYXItYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICBvcGFjaXR5OiAuODtcbn1cbi5ub3RpZmljYXRpb24tLWVudGVyLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG59XG4ubm90aWZpY2F0aW9uLS1leGl0LFxuLm5vdGlmaWNhdGlvbi0tZXhpdC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJlZCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IC44O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50O1xufSIsIi5hbGVydDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5hbGVydC1saWdodCB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMjAwO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMjAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufSIsIi5vcHRpb25zLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAxMC8xNioxcmVtO1xuICAgIHotaW5kZXg6IDI7XG59IiwiLnd5c2l3eWcgYSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJHByaW1hcnk7XG59IiwiLmNvbnRlbnQtYmxvY2sgKyAuY29udGVudC1ibG9jayxcbi5jb250ZW50LWJsb2NrICsgLnBpbWNvcmVfYXJlYV9jb250ZW50ID4gLmNvbnRlbnQtYmxvY2ssXG4ucGltY29yZV9hcmVhX2NvbnRlbnQgKyAucGltY29yZV9hcmVhX2NvbnRlbnQgPiAuY29udGVudC1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMzAvMTYqMXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDAvMTYqMXJlbTtcbiAgICB9XG59IiwiLmRhdGEtdHlwZV9fdmFsdWUge1xuICAgIHdpZHRoOiA3NSU7XG59XG4uZGF0YS10eXBlX19sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNS8xNioxcmVtO1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgZm9udC1zaXplOiAxMi8xNioxcmVtO1xufVxuLmRhdGEtdHlwZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRhdGEtdHlwZS0tYmxvY2tfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci13aWR0aDtcbn1cblxuLmRhdGEtdHlwZS0tYmxvY2tfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn0iLCIkZHJvcC16b25lLXBhZGRpbmc6IG1hcF9nZXQoJHNwYWNlcnMsIDUpO1xuJGRyb3Atem9uZS1ib3JkZXItd2lkdGg6IDJweDtcblxuLmRyb3Atem9uZSB7XG4gICAgYm9yZGVyOiAjeyRkcm9wLXpvbmUtYm9yZGVyLXdpZHRofSBkYXNoZWQgJHByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJGRyb3Atem9uZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuLmRyb3Atem9uZTpmb2N1cyxcbi5kcm9wLXpvbmU6YWN0aXZlLFxuLmRyb3Atem9uZS0tZHJhZy1hY3RpdmUge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5kcm9wLXpvbmVfX3NlbGVjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwX2dldCgkc3BhY2VycywgMyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmRyb3Atem9uZV9fc2VsZWN0aW9uLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZHJvcC16b25lX19sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmRyb3Atem9uZS0tZHJhZy1hY3RpdmUgLmRyb3Atem9uZV9fbGFiZWwge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbn1cblxuLyogZHJvcC16b25lLS1kaXNhYmxlZCAqL1xuLy8uZHJvcC16b25lLS1kaXNhYmxlZCB7XG4vLyAgICBiYWNrZ3JvdW5kOiAkZ3JheS0zMDA7XG4vL31cblxuLyogZHJvcC16b25lLS1pbnZpc2libGUgKi9cbiRkcm9wLXpvbmUtaW52aXNpYmxlLXBhZGRpbmc6IG1hcF9nZXQoJHNwYWNlcnMsIDIpO1xuXG4uZHJvcC16b25lLS1pbnZpc2libGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6ICRkcm9wLXpvbmUtaW52aXNpYmxlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiBjYWxjKCN7JGRyb3Atem9uZS1pbnZpc2libGUtcGFkZGluZyAqIC0xfSAtICN7JGRyb3Atem9uZS1ib3JkZXItd2lkdGh9KTtcbn1cbi5kcm9wLXpvbmUtLWludmlzaWJsZS5kcm9wLXpvbmUtLWRyYWctYWN0aXZlIHtcbiAgICBib3JkZXI6ICN7JGRyb3Atem9uZS1ib3JkZXItd2lkdGh9IGRhc2hlZCAkcHJpbWFyeTtcbn1cbi5kcm9wLXpvbmUtLWludmlzaWJsZS5kcm9wLXpvbmUtLWRyYWctYWN0aXZlLmRyb3Atem9uZS0tZGlzYWJsZWQge1xuICAgIGJvcmRlcjogI3skZHJvcC16b25lLWJvcmRlci13aWR0aH0gZGFzaGVkICRncmF5LTUwMDtcbn1cbi5kcm9wLXpvbmUtLWludmlzaWJsZSAuZHJvcC16b25lX19sYWJlbCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDQwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cbi8vLmRyb3Atem9uZS0taW52aXNpYmxlLmRyb3Atem9uZS0tZGlzYWJsZWQgLmRyb3Atem9uZV9fbGFiZWwge1xuLy8gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuLy99XG4uZHJvcC16b25lLS1pbnZpc2libGUuZHJvcC16b25lLS1kcmFnLWFjdGl2ZSAuZHJvcC16b25lX19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcC16b25lLS1pbnZpc2libGUuZHJvcC16b25lLS1kcmFnLWFjdGl2ZSAuZHJvcC16b25lX19jaGlsZHJlbiB7XG4gICAgb3BhY2l0eTogLjM7XG59XG4vLy5kcm9wLXpvbmUtLWludmlzaWJsZS5kcm9wLXpvbmUtLWRyYWctYWN0aXZlLmRyb3Atem9uZS0tZGlzYWJsZWQgLmRyb3Atem9uZV9fY2hpbGRyZW4ge1xuLy8gICAgb3BhY2l0eTogLjY7XG4vL30iLCIucmVhY3QtZGF0ZXBpY2tlcl9faW5wdXQtY29udGFpbmVyLCAucmVhY3QtZGF0ZXBpY2tlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn0iLCIubG9naW4ge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJsYWNrKTtcbn1cbi5sb2dpbl9fY29udGVudF9fbG9nbyB7XG4gICAgd2lkdGg6IDE0MC8xNioxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICB3aWR0aDogMzAwLzE2KjFyZW07XG4gICAgfVxufVxuLmxvZ2luX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MC8xNioxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMzAvMTYqMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjg3KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgcGFkZGluZzogMTQwLzE2KjFyZW0gOTAvMTYqMXJlbSAyMC8xNioxcmVtO1xuICAgIH1cbn1cbi5sb2dpbl9fY29udGVudF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjAvMTYqMXJlbTtcbn1cbi5sb2dpbl9fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQ4MC8xNioxcmVtKTtcbiAgICB9XG59XG4ubG9naW4gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59IiwiLnBpbWNvcmUtd29ya2Zsb3ctcGxhY2UtaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcbiAgICBwYWRkaW5nOiAwLjE1ZW0gMC43ZW07XG4gICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43ZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbi53b3JrZmxvdy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG59XG5cbi5idG4td29ya2Zsb3ctYWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuN2VtO1xufSIsIi5zZWxlY3Rpb24taW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwLzE2ICogMXJlbTtcbiAgICBoZWlnaHQ6IDIwLzE2ICogMXJlbTtcbiAgICBib3JkZXI6IDEvMTYgKiAxcmVtIHNvbGlkICRncmF5LTUwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnNlbGVjdGlvbi1pbmRpY2F0b3I6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHN1Y2Nlc3MsIC41KTtcbn1cbi5zZWxlY3Rpb24taW5kaWNhdG9yLmlzLXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcztcbn1cbi5zZWxlY3Rpb24taW5kaWNhdG9yLS1pbi10ZXh0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuNDNlbTtcbn0iLCJAaW1wb3J0IFwicG9ydGFsLWVuZ2luZS1idW5kbGUvc3R5bGVzL2NvbXBvbmVudHMvc2VsZWN0aW9uLWluZGljYXRvclwiO1xuXG4uc2VsZWN0aW9uLWluZGljYXRvciB7XG4gICAgLyogaW5jcmVhc2Ugei1pbmRleCB0byBwdXQgaXQgYWJvdmUgdGVhc2VyLW9wdGlvbnMgKi9cbiAgICB6LWluZGV4OiAyO1xufSIsIi5pbmNyZWFzZWQtYXJlYS0tMiB7XG4gICAgcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMik7XG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAqIC0xO1xufVxuLmluY3JlYXNlZC1hcmVhLS0ze1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDMpO1xuICAgIG1hcmdpbjogbWFwLWdldCgkc3BhY2VycywgMykgKiAtMTtcbn1cblxuLmJnLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDAgIWltcG9ydGFudDsgLypvdmVycmlkZSBib290c3RyYXAqL1xufVxuXG4uY2xpY2thYmxlIHtjdXJzb3I6IHBvaW50ZXI7fVxuXG4uaWNvbi1pbi10ZXh0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLS4xZW07XG59XG5cbi5pY29uLWxpZ2h0IHtcbiAgICBmaWxsOiAkZ3JheS0yMDA7XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZS1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59IiwiLnZlcnRpY2FsLWd1dHRlciB7XG4gICAgbWFyZ2luLXRvcDogLSRncmlkLWd1dHRlci13aWR0aDtcbn1cbi52ZXJ0aWNhbC1ndXR0ZXIgPiAudmVydGljYWwtZ3V0dGVyX19pdGVtOm5vdCg6ZW1wdHkpLFxuLnZlcnRpY2FsLWd1dHRlciA+IGltZy52ZXJ0aWNhbC1ndXR0ZXJfX2l0ZW0geyAvKiBiZWNhdXNlIGltZyBlbGVtZW50cyBhcmUgYWx3YXlzIGVtcHR5Ki9cbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG59XG5cbkBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAudmVydGljYWwtZ3V0dGVyLS0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoO1xuICAgIH1cbiAgICAudmVydGljYWwtZ3V0dGVyLS0jeyRzaXplfSA+IC52ZXJ0aWNhbC1ndXR0ZXJfX2l0ZW06bm90KDplbXB0eSksXG4gICAgLnZlcnRpY2FsLWd1dHRlci0tI3skc2l6ZX0gPiBpbWcudmVydGljYWwtZ3V0dGVyX19pdGVtIHsgLyogYmVjYXVzZSBpbWcgZWxlbWVudHMgYXJlIGFsd2F5cyBlbXB0eSovXG4gICAgICAgIG1hcmdpbi10b3A6ICRsZW5ndGg7XG4gICAgfVxufVxuXG4vL3RvZG9cbi52ZXJ0aWNhbC1ndXR0ZXIgLnZlcnRpY2FsLWd1dHRlcl9faXRlbSAudmVydGljYWwtZ3V0dGVyOm5vdCguY2FyZC1ib2R5KSB7XG4gICAgcGFkZGluZy10b3A6IC41LzE2KjFyZW07XG59IiwiQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgIC5yb3ctZ3V0dGVyLS0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aC8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoLzI7XG5cbiAgICAgICAgPiBbY2xhc3NePVwiY29sXCJdLFxuICAgICAgICA+IFtjbGFzcyo9XCIgY29sXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxlbmd0aC8yO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGxlbmd0aC8yO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5zY3JvbGwtYXJlYSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBpbmNsdWRlIHNjcm9sbGJhcigpO1xufSJdLCJzb3VyY2VSb290IjoiIn0=*/