@charset "UTF-8";
.error-page__back-link {
  background-color: #1570A6;
  border-radius: 20px;
  padding: 0.5rem 1rem;
  color: #FFF;
  display: inline-block;
}

.error-page__back-link:hover {
  color: #FFF;
  text-decoration: none;
}

/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

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

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

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

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

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

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

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

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

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

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

button {
  border-radius: 0;
}

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

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role="button"] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

.lead {
  font-size: 0.7813rem;
  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: 0.7813rem;
}

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

.blockquote-footer::before {
  content: "\2014\00A0";
}

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

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

.figure {
  display: inline-block;
}

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

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

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

a > code {
  color: inherit;
}

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

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
}

pre {
  display: block;
  font-size: 87.5%;
  color: #212529;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

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

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

.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.6667%;
  max-width: 16.6667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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.3333%;
    max-width: 33.3333%;
  }
  .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.6667%;
    max-width: 16.6667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .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.3333%;
  }
  .offset-sm-2 {
    margin-left: 16.6667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333%;
  }
  .offset-sm-5 {
    margin-left: 41.6667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333%;
  }
  .offset-sm-8 {
    margin-left: 66.6667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333%;
  }
  .offset-sm-11 {
    margin-left: 91.6667%;
  }
}

@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.3333%;
    max-width: 33.3333%;
  }
  .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.6667%;
    max-width: 16.6667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-md-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-md-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-md-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-md-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .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.3333%;
  }
  .offset-md-2 {
    margin-left: 16.6667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333%;
  }
  .offset-md-5 {
    margin-left: 41.6667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333%;
  }
  .offset-md-8 {
    margin-left: 66.6667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333%;
  }
  .offset-md-11 {
    margin-left: 91.6667%;
  }
}

@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.3333%;
    max-width: 33.3333%;
  }
  .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.6667%;
    max-width: 16.6667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .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.3333%;
  }
  .offset-lg-2 {
    margin-left: 16.6667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333%;
  }
  .offset-lg-5 {
    margin-left: 41.6667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333%;
  }
  .offset-lg-8 {
    margin-left: 66.6667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333%;
  }
  .offset-lg-11 {
    margin-left: 91.6667%;
  }
}

@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.3333%;
    max-width: 33.3333%;
  }
  .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.6667%;
    max-width: 16.6667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.3333%;
    max-width: 8.3333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333%;
    max-width: 83.3333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6667%;
    max-width: 91.6667%;
  }
  .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.3333%;
  }
  .offset-xl-2 {
    margin-left: 16.6667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333%;
  }
  .offset-xl-5 {
    margin-left: 41.6667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333%;
  }
  .offset-xl-8 {
    margin-left: 66.6667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333%;
  }
  .offset-xl-11 {
    margin-left: 91.6667%;
  }
}

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

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

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

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

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

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

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

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

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

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}

.table-dark.table-bordered {
  border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

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

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

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

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

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > .table-bordered {
  border: 0;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 2.5rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 28px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

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

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

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

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

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

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

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

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

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

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

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

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

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

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

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

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

textarea.form-control {
  height: auto;
}

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

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

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

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

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

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}

.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

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

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

.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

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

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.25rem;
  margin-top: .1rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 28px;
}

.form-row > .col > .valid-tooltip,
.form-row > [class*="col-"] > .valid-tooltip {
  left: 5px;
}

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

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 1.5rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.375rem) center;
  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
}

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

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

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

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 4.625rem) !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 2.5rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 3.5rem/calc(0.75em + 0.75rem) calc(0.75em + 0.75rem) no-repeat;
}

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

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

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

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745;
}

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

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

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745;
}

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

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

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

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.25rem;
  margin-top: .1rem;
  font-size: 0.5469rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 28px;
}

.form-row > .col > .invalid-tooltip,
.form-row > [class*="col-"] > .invalid-tooltip {
  left: 5px;
}

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

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 1.5rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.375rem) center;
  background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem);
}

.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: 10rem !important;
  background-position: right 5rem center;
}

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

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 4.625rem) !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 2.5rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 3.5rem/calc(0.75em + 0.75rem) calc(0.75em + 0.75rem) no-repeat;
}

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

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

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

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #dc3545;
}

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

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

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545;
}

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

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-inline .form-check {
  width: 100%;
}

@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group,
  .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.75rem 2.5rem;
  font-size: 0.625rem;
  line-height: 1.5;
  border-radius: 28px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}

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

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

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

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

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

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

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

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

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

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

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

.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}

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

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

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

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

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

.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}

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

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

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

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

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

.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}

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

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

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

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

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

.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}

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

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

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

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

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

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

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

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

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

.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

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

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

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

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

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

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

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

.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

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

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

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

.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

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

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

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

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

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

.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

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

.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

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

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

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

.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

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

.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

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

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

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

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none;
}

.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
}

.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
}

.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 0.7813rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

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

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

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

.fade {
  transition: opacity 0.15s linear;
}

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

.fade:not(.show) {
  opacity: 0;
}

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

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

.collapsing.width {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}

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

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

.dropdown-toggle {
  white-space: nowrap;
}

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

.dropdown-toggle:empty::after {
  margin-left: 0;
}

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

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

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

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

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

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

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

.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

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

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover, .dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #e9ecef;
}

.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}

.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropright .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.has-validation > .form-control:nth-last-child(n + 3),
.input-group.has-validation > .custom-select:nth-last-child(n + 3),
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

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

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

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

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

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

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

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.75rem 2.5rem;
  margin-bottom: 0;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 28px;
}

.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.7813rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

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

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

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

.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: 0.9375rem;
  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: 0.9688rem;
  opacity: 0;
}

.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #007bff;
  background-color: #007bff;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #80bdff;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}

.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}

.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}

.custom-control-label::before {
  position: absolute;
  top: -0.0312rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: 1px solid #adb5bd;
}

.custom-control-label::after {
  position: absolute;
  top: -0.0312rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  border-radius: 28px;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-radio .custom-control-label::before {
  border-radius: 50%;
}

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

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-switch {
  padding-left: 2.25rem;
}

.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}

.custom-switch .custom-control-label::after {
  top: calc(-0.0312rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  transform: translateX(0.75rem);
}

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5);
}

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 3.5rem 0.75rem 2.5rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 2.5rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 28px;
  appearance: none;
}

.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 2.5rem;
  background-image: none;
}

.custom-select:disabled {
  color: #6c757d;
  background-color: #e9ecef;
}

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

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

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

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

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 1.5rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}

.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}

.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}

.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 1.5rem + 2px);
  padding: 0.75rem 2.5rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 28px;
}

.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 1.5rem);
  padding: 0.75rem 2.5rem;
  line-height: 1.5;
  color: #495057;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 28px 28px 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}

.custom-range:focus {
  outline: 0;
}

.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-range::-moz-focus-outer {
  border: 0;
}

.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}

.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}

.custom-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}

.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}

.custom-range::-ms-thumb:active {
  background-color: #b3d7ff;
}

.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}

.custom-range:disabled::-moz-range-track {
  cursor: default;
}

.custom-range:disabled::-ms-thumb {
  background-color: #adb5bd;
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
  .custom-file-label,
  .custom-select {
    transition: none;
  }
}

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

.nav-link {
  display: block;
  padding: 0.3rem 0.4rem;
}

.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}

.nav-tabs .nav-link {
  margin-bottom: -1px;
  background-color: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 28px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff;
}

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

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

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

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 15px 8%;
}

.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.1828rem;
  padding-bottom: 0.1828rem;
  margin-right: 8%;
  font-size: 0.7813rem;
  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.3rem;
  padding-bottom: 0.3rem;
}

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 0.7813rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 28px;
}

.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: 1rem;
    padding-left: 1rem;
  }
  .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: 1rem;
    padding-left: 1rem;
  }
  .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: 1rem;
    padding-left: 1rem;
  }
  .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: 1rem;
    padding-left: 1rem;
  }
  .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: 1rem;
  padding-left: 1rem;
}

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

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: #FFF;
}

.navbar-light .navbar-nav .nav-link {
  color: #000;
}

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

.navbar-light .navbar-toggler {
  color: #000;
  border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
  background-image: "none";
}

.navbar-light .navbar-text {
  color: #000;
}

.navbar-light .navbar-text a {
  color: #FFF;
}

.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: #FFF;
}

.navbar-dark .navbar-brand {
  color: #fff;
}

.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-dark .navbar-text a {
  color: #fff;
}

.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
  color: #fff;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 28px;
}

.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: 27px;
  border-top-right-radius: 27px;
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

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

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

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

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

.card-link:hover {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: 27px 27px 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 27px 27px;
}

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

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

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

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

.card-img,
.card-img-top {
  border-top-left-radius: 27px;
  border-top-right-radius: 27px;
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: 27px;
  border-bottom-left-radius: 27px;
}

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

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

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

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

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

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

.accordion {
  overflow-anchor: none;
}

.accordion > .card {
  overflow: hidden;
}

.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 28px;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

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

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

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

.breadcrumb-item.active {
  color: #6c757d;
}

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

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6;
}

.page-link:hover {
  z-index: 2;
  color: #0056b3;
  text-decoration: none;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

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

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

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

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 28px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

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

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

.badge:empty {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}

@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

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

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

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-right: 3.4375rem;
}

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

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.4688rem;
  background-color: #e9ecef;
  border-radius: 28px;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}

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

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

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

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

.media-body {
  flex: 1;
}

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

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}

.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}

.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 28px;
  border-top-right-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 28px;
  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: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 28px;
    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: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 28px;
    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: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 28px;
    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: 28px;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 28px;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}

.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: #004085;
  background-color: #b8daff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: .75;
}

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

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

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast.showing {
  opacity: 1;
}

.toast.show {
  display: block;
  opacity: 1;
}

.toast.hide {
  display: none;
}

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

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

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

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}

.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}

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

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

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

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

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

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

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

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

.modal-footer > * {
  margin: 0.25rem;
}

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

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}

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

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Poppins", 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.5469rem;
  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: #1570A6;
}

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

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

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

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

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Poppins", 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.5469rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}

.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem;
}

.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
  bottom: calc(-0.5rem - 1px);
}

.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem;
}

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

.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem;
}

.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
  top: calc(-0.5rem - 1px);
}

.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem;
}

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

.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

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

.popover-header:empty {
  display: none;
}

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

.carousel {
  position: relative;
}

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

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

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

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

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

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

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

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

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

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50% / 100% 100% no-repeat;
}

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

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

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

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

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border;
}

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

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow;
}

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

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}

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

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #007bff !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-primary {
  border-color: #007bff !important;
}

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

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

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

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

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

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

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

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

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

.rounded {
  border-radius: 28px !important;
}

.rounded-top {
  border-top-left-radius: 28px !important;
  border-top-right-radius: 28px !important;
}

.rounded-right {
  border-top-right-radius: 28px !important;
  border-bottom-right-radius: 28px !important;
}

.rounded-bottom {
  border-bottom-right-radius: 28px !important;
  border-bottom-left-radius: 28px !important;
}

.rounded-left {
  border-top-left-radius: 28px !important;
  border-bottom-left-radius: 28px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}

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

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}

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

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

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

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

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

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}

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

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

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

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

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

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

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

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

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

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

.text-primary {
  color: #007bff !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

button, .button {
  display: block;
  border: none;
  width: 100px;
  height: 40px;
  line-height: 38px;
  margin-top: 20px;
  margin-left: calc(50% - 50px);
  border-radius: 26px;
  background-color: #1570A6;
  color: #FFF;
  font-size: 14px;
}

button:focus, .button:focus, .searchButton:focus, .searchButtonMobile:focus, .nav-item.active:focus {
  background-color: #115B87;
  outline: none;
}

.searchButton {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  margin-top: 20px;
  width: 100px;
  height: 44px;
  border-radius: 25px;
  border: none;
  background-color: #1570A6;
}

.searchButton i {
  color: #FFF;
  font-size: 14px;
}

.registerButton {
  margin-top: 0;
  width: 126px;
  margin-left: calc(50% - 63px);
}

.confirmButton {
  margin-top: 10px;
  margin-bottom: 10px;
}

.imagePin, .prolongPin, .expiredPin {
  display: block;
  height: 28px;
  width: auto;
  border-radius: 0px 0px 15px 15px;
  transform: rotate(0deg);
  background-color: #FFF;
  margin-top: -1px;
}

.expiredPin {
  color: #fe4435 !important;
}

.imagePin.pinned {
  visibility: visible;
}

@media (max-width: 576px) {
  img.imagePin {
    height: 20px;
  }
}

.bottomButton {
  bottom: 12px;
  position: absolute;
}

#advancedSearch button {
  margin-left: initial;
}

.slick-prev:before,
.slick-next:before {
  color: #09529b !important;
}

.slick-slide {
  margin-right: 20px;
}

.slick-slide:focus {
  outline: none;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list {
  height: 100%;
  width: 100%;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .slick-slide {
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

button.slick-next.slick-arrow, button.slick-prev.slick-arrow {
  position: absolute;
  bottom: 0;
  top: calc(50% - 5px);
  background-color: #1570a6;
  border: none;
  height: 20px;
  width: 20px;
  border-radius: 10px;
  color: white;
}

.recentlyAddedCarousel button.slick-next.slick-arrow, .recentlyAddedCarousel button.slick-prev.slick-arrow {
  margin-top: unset;
  margin-left: unset;
  background-color: #FFF;
}

.publicBoardsCarousel button.slick-next.slick-arrow, .publicBoardsCarousel button.slick-prev.slick-arrow {
  margin-top: unset;
  margin-left: unset;
  background-color: transparent;
}

button.slick-next.slick-arrow {
  right: 0;
}

.recentlyAddedCarousel button.slick-next.slick-arrow {
  margin-right: -30px;
  height: 100%;
  background-color: #EFF5F9 !important;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.publicBoardsCarousel button.slick-next.slick-arrow {
  margin-right: 20px;
}

button.slick-prev.slick-arrow {
  left: 0;
}

.recentlyAddedCarousel button.slick-prev.slick-arrow {
  margin-left: -30px;
  height: 100%;
  background-color: #EFF5F9 !important;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.publicBoardsCarousel button.slick-prev.slick-arrow {
  margin-left: 20px;
}

.slick-prev:before,
.slick-next:before {
  color: #09529b !important;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  display: block;
  width: 30px;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 50%;
  border: 2px solid transparent;
  position: relative;
}

.publicBoardsCarousel .slick-prev:before, .publicBoardsCarousel .slick-next:before {
  background-color: transparent;
}

.slick-prev:before {
  content: "\f053";
  left: -6px;
  padding-right: 2px;
}

.slick-next:before {
  content: "\f054";
  right: 4px;
  padding-left: 2px;
}

.slick-dots li button:before {
  font-size: 30px;
}

.slick-dots li.slick-active button:before {
  color: #1570A6;
  opacity: 1;
}

.itemDetail button.slick-next.slick-arrow, .payments button.slick-next.slick-arrow {
  right: 10px;
  background-color: transparent;
}

.itemDetail button.slick-prev.slick-arrow, .payments button.slick-prev.slick-arrow {
  color: #FFF;
  z-index: 1;
  background-color: transparent;
  margin-left: 10px;
}

.payments .paymentsCarousel {
  padding: 20px 40px 40px 40px;
}

.payments .paymentsCarousel .slick-list {
  padding: 10px 0;
}

@media (max-width: 576px) {
  button.slick-next.slick-arrow {
    right: 10px;
  }
  .payments .paymentsCarousel {
    padding: 20px 0;
  }
  .payments .paymentsCarousel .slick-prev {
    top: 320px;
    left: 35px;
  }
  .payments .paymentsCarousel .slick-next.slick-arrow {
    top: 320px;
    right: 45px;
  }
}

nav {
  padding: 0 8%;
  font-size: 12px;
  box-shadow: 0px 4px 6px #8888882E;
  z-index: 10;
  height: 70px;
}

nav.navbar--fixed {
  position: fixed;
  background-color: #FFF;
  width: 100%;
  top: 0;
}

nav.navbar--fixed + * {
  margin-top: 70px;
}

@media (min-width: 576px) {
  nav.navbar--fixed + .loginRegister {
    margin-top: 130px;
  }
}

nav button {
  margin: 0;
}

nav .navbar-toggler {
  width: auto;
  border: none;
  width: auto;
  margin-right: 2px;
}

nav .navbar-toggler .navbar-toggler-icon {
  height: unset;
}

nav .navbar-toggler .navbar-toggler-icon img {
  height: 25px;
  color: #1570A6;
}

nav .navbar-toggler:focus {
  background-color: inherit;
  border: none;
  outline: none;
}

nav a.navbar-brand {
  padding: 0;
  height: 60px;
  line-height: 60px;
}

nav a.navbar-brand img {
  height: 25px;
  margin-bottom: 5px;
}

nav li.nav-item {
  color: black;
  height: 40px;
  line-height: 40px;
}

nav li.nav-item .nav-link {
  padding: 0 1rem;
}

nav li.nav-item .nav-link img {
  height: 25px;
}

nav li.nav-item.active {
  background-color: #1570A6;
  border-radius: 20px;
  margin-right: 10px;
}

nav li.nav-item.active a {
  color: #FFF;
}

nav .form-group {
  display: none;
}

@media (min-width: 992px) {
  nav .form-group {
    display: block;
    height: auto;
    margin-left: 100px;
    min-width: 350px;
  }
  nav .form-group label i {
    height: 25px;
    position: absolute;
    left: 14px;
    top: 32px;
    z-index: 3;
  }
}

.navbar-light .navbar-nav .nav-link {
  padding-left: 1rem;
  padding-right: 0;
}

.navbar-light .navbar-nav .active .nav-link {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (max-width: 576px) {
  .navbar {
    justify-content: space-between;
    height: 70px;
    align-items: center;
    padding: 0 4%;
  }
  .navbar .navbar-collapse {
    position: absolute;
    width: 100%;
    top: 59px;
    left: 0;
    padding: 20px 0;
    background-color: white;
    z-index: 1;
    box-shadow: rgba(0, 0, 0, 0.47) 0px 7px 5px;
  }
  .navbar .navbar-collapse ul li {
    margin-bottom: 20px;
  }
  .navbar .navbar-collapse ul li.active {
    border-radius: 0px;
    padding: 30px 5px;
    margin-right: 0;
    line-height: 3px;
  }
}

.linksBlock {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 30px 8%;
}

.linkColumn {
  display: inline-block;
}

.linkColumn h6 {
  font-weight: 700;
}

.linkColumn .socialMediaIcons {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

.linkColumn .socialMediaIcons a {
  color: black;
  margin-right: 15px;
}

.linkColumn .socialMediaIcons a i {
  font-size: 25px;
}

.linkList {
  list-style: none;
  padding: 0;
}

.linkList li {
  margin-bottom: 10px;
}

.linkList li a {
  color: black;
}

footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 10px 8%;
  background-color: #fafaff;
  align-items: center;
  text-align: center;
}

footer h5 {
  flex-basis: 80%;
  margin: 0;
}

footer .floatRight {
  width: 20%;
  display: flex;
  justify-content: flex-end;
}

footer .floatRight img {
  flex-basis: 20%;
  height: 20px;
}

footer span.strongText {
  font-weight: 700;
}

@media (max-width: 725px) {
  .linksBlock {
    margin: 0 4%;
    flex-direction: column;
  }
  .linksBlock .linkColumn h6 {
    font-size: 15px;
  }
  .linksBlock .linkColumn .linkList {
    font-size: 14px;
  }
  .linksBlock .socialMediaIcons {
    display: flex;
    flex-direction: row;
    width: 100%;
    float: none;
    padding: 20px 0;
    justify-content: space-evenly;
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  footer {
    flex-direction: column;
    padding: 20px 8%;
  }
  footer h5 {
    flex-basis: 100%;
    padding-bottom: 20px;
    font-size: 14px;
  }
  footer .floatRight {
    width: 100%;
  }
  footer .floatRight img {
    flex-basis: 100%;
  }
}

.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 1px;
  bottom: 1px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #1570A6;
}

input:focus + .slider {
  box-shadow: 0 0 1px #1570A6;
}

input:checked + .slider:before {
  -webkit-transform: translateX(12px);
  -ms-transform: translateX(12px);
  transform: translateX(12px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

.dropdownSwitch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 22px;
  font-family: "Font Awesome 5 Pro";
}

.dropdownSwitch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.dropdownToggle {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.dropdownToggle:before {
  position: absolute;
  content: "\f078";
  height: 20px;
  width: 20px;
  left: 1px;
  bottom: 1px;
  -webkit-transition: .4s;
  transition: .4s;
  transform-origin: 5px;
}

input:checked + .dropdownToggle::before {
  color: #1570A6;
}

input:focus + .dropdownToggle:before {
  color: #1570A6;
}

input:checked + .dropdownToggle:before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.jumbotron {
  position: relative;
  width: 100%;
  margin: 0;
  top: 0;
  left: 0;
  padding: 0;
}

.jumbotron .container {
  max-width: 100%;
  margin: 0;
  padding: 40px 8% 0 8%;
}

@media (max-width: 576px) {
  .jumbotron .container {
    padding: 40px 4% 0 4%;
  }
}

.jumbotron .container .containerMessage .jumbotronHeader {
  font-size: 32px;
  font-weight: 700;
  color: #1570A6;
  margin-bottom: 15px;
}

.jumbotron .container .containerMessage .jumbotronDetail {
  font-size: 12px;
  margin: 4px 0;
}

.jumbotron .container .containerMessage .mobileDetail {
  display: none;
}

.jumbotron .container .form-inline {
  padding: 30px 0 60px 0;
}

.jumbotron .container .form-inline .form-group {
  position: relative;
  margin-right: 20px;
  flex-basis: 20%;
}

.jumbotron .container .form-inline .form-group img {
  position: absolute;
  height: 30px;
  left: 8px;
  bottom: 8px;
}

.jumbotron .container .form-inline .form-group i {
  position: absolute;
  left: 14px;
  color: #000000;
  font-size: 14px;
  z-index: 3;
}

.jumbotron .container .form-inline .form-group i.iconRight {
  right: 18px;
}

.jumbotron .container .form-inline .form-group .iconRight {
  left: auto;
  right: 8px;
}

.jumbotron .container .form-inline .form-group.jumboInputs {
  flex-basis: 20%;
  /* Internet Explorer 10-11 */
  /* Microsoft Edge */
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control {
  width: 100%;
  font-size: 12px;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control::placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control:-ms-input-placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.jumboInputs .form-control::-ms-input-placeholder {
  opacity: 1;
  color: #000000;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper {
  width: 100%;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputLeft {
  width: calc(50% - 0.5px);
  border-radius: 28px 0 0 28px;
  border-right: none;
  padding-right: 10px;
  text-align: center;
  margin-right: -1px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputRight {
  width: calc(50% - 0.5px);
  border-radius: 0 28px 28px 0;
  border-left: none;
  padding-left: 10px;
  text-align: center;
  margin-left: -1px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper .costInputRight img {
  bottom: 8px;
}

.jumbotron .container .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  border-radius: 28px;
}

.jumbotron .container .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: none;
}

.jumbotron .container .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: none;
}

.jumbotron .container .form-inline .boxText {
  text-align: center;
  bottom: 1px;
  height: 42px;
  line-height: 42px;
}

.jumbotron .container .jumboBottom {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 22px;
}

.jumbotron .container .jumboBottom .socialMediaIcons {
  display: inline-block;
}

.jumbotron .container .jumboBottom .socialMediaIcons a {
  margin-right: 15px;
}

.jumbotron .container .jumboBottom .socialMediaIcons a .fab {
  color: #000000;
  font-size: 25px;
}

.jumbotron .container .jumboBottom #themeToggle {
  display: flex;
  align-items: center;
}

.jumbotron .container .jumboBottom #themeToggle label:not(.switch) {
  margin-right: 10px;
}

@media (max-width: 1160px) {
  .jumbotron .container {
    max-width: 100%;
  }
  .jumbotron .container .containerMessage .jumbotronHeader {
    font-size: 25px;
  }
  .jumbotron .container .form-inline {
    align-items: center;
    justify-content: space-between;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs {
    flex-basis: calc(50% - 20px);
    margin: 0;
    margin-bottom: 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs input {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs select {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs img.iconRight {
    left: auto;
    right: 4px;
  }
}

@media (max-width: 576px) {
  .jumbotron .container .form-inline {
    justify-content: center;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs {
    flex-basis: 100%;
    margin: 0 0 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs input {
    width: 100%;
    padding: 10px 15px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs select {
    width: 100%;
    padding-left: 10px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .iconRightSearch {
    right: 15px;
    left: unset;
    top: 30px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .iconRight {
    top: 22px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs i.iconRight {
    top: 30px;
  }
  .jumbotron .container .form-inline .form-group.jumboInputs .fa-caret-down {
    top: 15px;
    right: 15px;
  }
  .jumbotron .container .form-inline .form-group.cost {
    width: 100%;
  }
  .jumbotron .container .form-inline .form-group.cost label {
    margin-left: -4px;
  }
  .jumbotron .container .form-inline .form-group.cost .iconRight {
    bottom: 8px;
  }
  .jumbotron .container .form-inline .form-group.cost .costInputLeft {
    display: inline-block;
  }
  .jumbotron .container .form-inline .form-group.cost .costInputRight {
    display: inline-block;
  }
}

.recentlyAdded {
  position: relative;
  margin: 0 8% 40px;
  background-color: #FFF;
}

.recentlyAdded .topInfo {
  height: 126px;
}

.recentlyAdded .topInfo .allAds {
  float: right;
  line-height: 126px;
  font-size: 14px;
}

.recentlyAdded .recentlyAddedMarker,
.recentlyAdded .recentlyAddedLocation {
  display: inline-block;
}

.recentlyAdded .wrapper.slick-slider {
  position: relative;
  display: block;
  width: 100%;
}

.recentlyAdded .wrapper.slick-slider .slick-track {
  display: flex;
}

.recentlyAdded .wrapper.slick-slider .slick-prev:before, .recentlyAdded .wrapper.slick-slider .slick-next:before {
  color: #09529b !important;
}

.recentlyAdded a {
  font-size: 12px;
}

.recentlyAdded a img {
  height: 20px;
}

.recentlyAdded a.heading {
  font-size: 25px;
}

.recentlyAdded .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 576px) {
  .recentlyAdded .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
  }
}

.recentlyAdded .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 576px) {
  .recentlyAdded .listing .listingPrice {
    flex-basis: unset;
  }
}

@media (max-width: 576px) {
  .recentlyAdded {
    margin: 0 4%;
  }
  .recentlyAdded .hideMobile {
    dispay: block;
  }
}

.recentlyOpenedListings {
  padding: 0 8%;
}

.recentlyOpenedListings .wrapper .listing {
  position: relative;
  margin-bottom: 30px;
  width: calc(33.3% - 20px);
  margin-right: 20px;
}

.recentlyOpenedListings .wrapper .listing .listingImage {
  display: inline-block;
  width: 100%;
  border-radius: 10px;
}

.recentlyOpenedListings .wrapper .listing a img {
  height: 25px;
  width: auto;
  margin-bottom: 7px;
  margin-right: -5px;
}

.recentlyOpenedListings .wrapper .imageWrapper .listingPrice {
  position: absolute;
  background-color: #FFF;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  right: 0;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 850px) {
  .recentlyOpenedListings .wrapper .listing {
    width: calc(50% - 20px);
  }
}

@media (max-width: 576px) {
  .recentlyOpenedListings {
    padding: 0 4%;
  }
  .recentlyOpenedListings .wrapper {
    flex-direction: row;
  }
  .recentlyOpenedListings .wrapper .listing {
    height: 160px;
    flex-basis: 50%;
    width: 50%;
    margin-right: 0;
  }
  .recentlyOpenedListings .wrapper .listing .imageWrapper {
    width: calc(100% - 20px);
  }
  .recentlyOpenedListings .wrapper .listing .listingDetail {
    display: block;
    height: auto;
    width: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    padding: 60% 5px 5px;
  }
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: white;
    padding: 2px 12px;
    left: 0;
    border-radius: 0 12px 12px 0;
    text-align: right;
    top: 100px;
    font-size: 12px;
    font-weight: 700;
  }
}

@media (max-width: 576px) and (max-width: 420px) {
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingPrice {
    top: 60px;
  }
}

@media (max-width: 576px) {
  .recentlyOpenedListings .wrapper .listing .listingDetail .listingInfo {
    font-size: 12px;
    margin-top: 5px;
  }
}

.payments {
  position: relative;
  margin: 10px 0 8% 0 8%;
}

.payments .paymentInfo {
  display: flex;
  flex-direction: column;
  padding: 40px 20px 0 20px;
  text-align: center;
}

.payments .paymentInfo h1 {
  font-size: 22px;
  font-weight: 700;
}

.payments .paymentInfo a {
  position: absolute;
  right: 40px;
}

.payments .paymentInfo a img {
  height: 25px;
}

.payments .paymentsCarousel .paymentOption {
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 5px;
  text-align: center;
  padding: 5px;
  border-radius: 10px;
  box-shadow: 0px 0 8px #8888882E;
  padding: 20px 10px;
}

.payments .paymentsCarousel .paymentOption h2 {
  font-weight: 700;
  color: #1570A6;
  height: 60px;
  line-height: 30px;
}

.payments .paymentsCarousel .paymentOption .optionInfo {
  height: 115px;
}

.payments .paymentsCarousel .paymentOption .optionPrice {
  font-size: 30px;
  font-weight: 700;
  color: #1570A6;
}

.selectedOption {
  outline: auto 3px #1570A6;
}

@media (max-width: 1110px) {
  .payments .paymentInfo a {
    position: absolute;
    top: 10px;
    right: 10px;
  }
}

@media (max-width: 576px) {
  .payments a {
    font-size: 14px;
    text-align: center;
    margin-bottom: 30px;
  }
  .payments a img {
    height: 25px;
  }
  .payments .paymentsCarousel .paymentOption {
    min-height: 350px;
  }
  .payments .paymentsCarousel .paymentOption .optionHeading {
    height: auto;
  }
  .payments .paymentsCarousel .paymentOption .optionInfo {
    height: auto;
  }
  .payments .paymentsCarousel .paymentOption .optionPrice {
    height: auto;
  }
}

.summaryBlock {
  display: none;
  width: 50%;
  margin-left: 25%;
  margin-bottom: 20px;
  padding: 40px;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 10px;
}

.summaryBlock .optionSummary {
  display: flex;
  flex-direction: column;
}

.summaryBlock .optionSummary h2 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.summaryBlock .optionSummary h2 span {
  color: #1570A6;
  font-size: 18px;
}

.summaryBlock .optionSummary p {
  margin: 0 0 5px 0;
}

.summaryBlock .itemSummary {
  display: flex;
  flex-direction: row;
  margin-top: 50px;
  justify-content: space-between;
}

.summaryBlock .itemSummary .contactSummary {
  display: flex;
  flex-basis: 48%;
}

.summaryBlock .itemSummary .contactSummary .contactHeadings {
  flex-basis: 50%;
}

.summaryBlock .itemSummary .contactSummary .contactHeadings .itemHeading {
  font-weight: 700;
  margin-bottom: 5px;
}

.summaryBlock .itemSummary .contactSummary .contactDetails {
  flex-basis: 50%;
}

.summaryBlock .itemSummary .contactSummary .contactDetails .detail {
  margin-bottom: 5px;
}

.summaryBlock .itemSummary .contactSummary .contactDetails a {
  display: block;
}

.summaryBlock .itemSummary .listingSummary {
  flex-basis: 48%;
}

.summaryBlock .itemSummary .listingSummary .listing {
  position: relative;
  margin-bottom: 30px;
  margin-right: 0;
}

.summaryBlock .itemSummary .listingSummary .listing .listingImage {
  display: inline-block;
  width: 100%;
  border-radius: 10px;
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail {
  display: inline-flex;
  flex-direction: column;
  position: absolute;
  padding-left: 10px;
  height: 100%;
}

@media (max-width: 576px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail {
    width: 60%;
    margin-left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingLocation {
  font-size: 12px;
  order: 2;
  padding-top: 4px;
  margin-left: -5px;
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingInfo {
  font-size: 12px;
  font-weight: 700;
  order: 1;
  margin: 0;
}

@media (min-width: 768px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingInfo {
    margin-left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
  position: absolute;
  background-color: white;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  left: -37%;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  right: unset;
}

@media (max-width: 576px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
    left: 0px;
    right: auto;
    bottom: auto;
    top: 40px;
  }
}

@media (min-width: 768px) {
  .summaryBlock .itemSummary .listingSummary .listing .listingDetail .listingPrice {
    left: 10px;
  }
}

.summaryBlock .itemSummary .listingSummary .listing a img {
  height: 25px;
  width: auto;
  margin-bottom: 7px;
  margin-right: -5px;
}

.summaryBlock .itemSummary .listingSummary .imageWrapper {
  display: inline-block;
  width: 40%;
}

.summaryBlock .itemSummary .listingSummary .imageWrapper .listingPrice {
  position: absolute;
  background-color: white;
  padding: 2px 12px;
  border-radius: 12px 0 0 12px;
  right: 0;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

.summaryBlock .optionDetails {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.summaryBlock .optionDetails p {
  padding: 10px 0;
  margin: 0;
}

.summaryBlock .optionDetails p span {
  font-weight: 700;
}

.summaryBlock .optionDetails .optionDetailPrice {
  font-weight: 700;
  font-size: 16px;
  min-width: 12%;
  text-align: end;
}

.summaryBlock .paymentMethod {
  display: flex;
}

.summaryBlock .paymentMethod .methodSMS, .summaryBlock .paymentMethod .methodCard {
  flex-basis: 50%;
}

.summaryBlock .paymentMethod .methodSMS input, .summaryBlock .paymentMethod .methodCard input {
  height: 20px;
  width: 20px;
}

.summaryBlock .paymentMethod .methodSMS label, .summaryBlock .paymentMethod .methodCard label {
  position: absolute;
  margin-left: 5px;
  margin-top: 3px;
  font-weight: 700;
}

.summaryBlock .paymentMethod .methodCard .cardInfo {
  margin: 5px 0 0 25px;
}

.summaryBlock .paymentMethod .methodCard .cardOptions {
  display: flex;
  flex-direction: row;
  margin: 10px 0 0 25px;
}

.summaryBlock .paymentMethod .methodCard .cardOptions i.cardOption {
  flex-basis: 20%;
  font-size: 20px;
}

.summaryBlock .paymentMethod .methodCard button {
  margin: 40px 0 0 0;
  width: 130px;
  height: 35px;
}

.summaryBlock [id=smsPayment] {
  display: none;
  text-align: center;
  margin-top: 1rem;
}

.summaryBlock [id=smsPayment] button {
  padding-left: 30px;
  padding-right: 30px;
  width: auto;
  margin: 0 auto;
}

.summaryBlock #ccPayment {
  display: none;
  margin-top: 2rem;
}

.summaryBlock #ccPayment button {
  width: 130px;
}

@media (max-width: 1250px) {
  .summaryBlock {
    width: 60%;
    margin-left: 20%;
  }
}

@media (max-width: 1100px) {
  .summaryBlock {
    width: 70%;
    margin-left: 15%;
  }
}

@media (max-width: 880px) {
  .summaryBlock {
    width: 80%;
    margin: 0 10%;
  }
}

@media (max-width: 780px) {
  .summaryBlock {
    width: 90%;
    margin: 0 5%;
  }
}

@media (max-width: 700px) {
  .summaryBlock {
    width: 92%;
    margin: 0 4%;
  }
}

@media (max-width: 610px) {
  .summaryBlock {
    width: 96%;
    margin: 0 2%;
  }
}

@media (max-width: 576px) {
  .summaryBlock {
    width: 88%;
    margin: 0 6% 20px;
    padding: 40px 20px;
  }
  .summaryBlock h2 {
    color: #1570A6;
    margin-bottom: 20px;
  }
  .summaryBlock .optionSummary {
    text-align: center;
  }
  .summaryBlock .optionSummary p a.hideMobile {
    display: contents;
  }
  .summaryBlock .itemSummary {
    margin-top: 30px;
  }
  .summaryBlock .itemSummary .contactSummary {
    display: none;
  }
  .summaryBlock .itemSummary .listingSummary {
    flex-basis: 100%;
  }
  .summaryBlock .optionDetails {
    flex-direction: column;
    text-align: center;
  }
  .summaryBlock .optionDetails .optionDetailPrice {
    font-size: 30px;
  }
  .summaryBlock .paymentMethod {
    flex-direction: column;
  }
  .summaryBlock .paymentMethod input {
    margin-bottom: 20px;
  }
  .summaryBlock .paymentMethod .cardInfo {
    display: none;
  }
  .summaryBlock .paymentMethod .methodSMS label {
    margin-top: 0;
  }
  .summaryBlock .paymentMethod .methodCard button {
    margin-left: calc(50% - 65px);
  }
}

.itemDetail {
  display: flex;
  flex-direction: column;
  padding: 0 8%;
  overflow: auto;
}

@media (max-width: 1125px) {
  .itemDetail {
    padding: 0 4%;
  }
}

.itemDetail .back {
  order: 1;
  margin-top: 40px;
  font-size: 13px;
}

.itemDetail .back a {
  display: flex;
  align-items: center;
}

.itemDetail .back a i {
  font-size: 18px;
  margin-right: 5px;
}

.itemDetail .itemDetailContainer {
  position: relative;
  display: flex;
  flex-direction: row;
  order: 2;
  padding: 4% 4% 2%;
  box-shadow: 0px 0px 6px 1px #8888882E;
  margin-top: 20px;
  border-radius: 10px;
  margin-bottom: 5px;
}

.itemDetail .itemDetailContainer .itemPin {
  position: absolute;
  right: 4%;
  top: -2px;
  margin: 0;
  background-color: inherit;
  box-shadow: 0px 2px 2px #8888882E;
  height: 35px;
  border-radius: 0 0 17px 17px;
  width: 35px;
}

.itemDetail .itemDetailContainer .itemPin img {
  width: 100%;
}

.itemDetail .itemDetailContainer .smallText {
  font-size: 10px;
}

.itemDetail .itemDetailContainer .leftPanel {
  width: calc(50% - 4%);
  flex-basis: 50%;
  flex-direction: column;
  padding-right: 4%;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery {
  align-items: center;
  border-radius: 10px;
  margin: 0px 12px 20px 12px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel img {
  max-height: 320px;
  border-radius: 10px;
  cursor: pointer;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel .spinnerWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 320px;
  position: absolute;
  top: 0;
  left: 0;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel .spinnerWrapper #spinner {
  position: relative;
  color: #1570A6;
  font-size: 16px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-next.slick-arrow, .itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-prev.slick-arrow {
  width: 40px;
  height: 40px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarousel button.slick-next.slick-arrow {
  text-align: right;
  right: -5px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav .slick-dots {
  bottom: -45px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav .slick-dots button:hover {
  background-color: initial;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav img {
  max-height: 120px;
  cursor: pointer;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .itemCarouselNav iframe {
  border-radius: 10px;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .topItemSticker {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  right: 15px;
  top: 0px;
  margin: 0;
  border-radius: 0px 0px 15px 15px;
  background: #1570A6;
  z-index: 2;
}

.itemDetail .itemDetailContainer .leftPanel .itemGallery .topItemSticker img {
  height: 22px;
  margin-top: 2px;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel {
  order: 1;
  justify-content: center;
  margin-bottom: 20px;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .responsiveContainer {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .slick-list .slick-track .video {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  position: absolute;
  top: 0;
  left: 0;
}

.itemDetail .itemDetailContainer .leftPanel .itemCarousel .fa-angle-right, .itemDetail .itemDetailContainer .leftPanel .itemCarousel .fa-angle-left {
  font-size: 20px;
}

.itemDetail .itemDetailContainer .leftPanel img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;
}

.itemDetail .itemDetailContainer .leftPanel .locationInfo {
  order: 4;
  color: #B0BAC3;
}

.itemDetail .itemDetailContainer .leftPanel .googleMapLocations img {
  width: 25px;
  display: inline-block;
  margin-left: -5px;
  margin-right: -5px;
}

.itemDetail .itemDetailContainer .itemMobilePanel {
  display: none;
}

.itemDetail .itemDetailContainer .rightPanel {
  flex-basis: 50%;
}

.itemDetail .itemDetailContainer .rightPanel .itemTitle {
  justify-content: space-between;
}

.itemDetail .itemDetailContainer .rightPanel .itemTitle h1 {
  font-weight: 700;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations {
  margin-bottom: 0px;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations a {
  flex: initial;
}

.itemDetail .itemDetailContainer .rightPanel .googleMapLocations a:first-of-type {
  margin-right: 10px;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings {
  text-align: center;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings button {
  display: flex;
  align-items: center;
  width: auto;
  height: 30px;
  margin: 0;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings button i {
  font-size: 15px;
  margin: 0 5px;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings a.button {
  display: flex;
  align-items: center;
  min-width: 255px;
  height: 30px;
  margin: 0;
  margin-bottom: 10px;
  padding: 5px;
  text-decoration: none;
  text-align: center;
  justify-content: center;
}

.itemDetail .itemDetailContainer .rightPanel .contactListings a.button i {
  font-size: 15px;
  margin: 0 5px;
}

.itemDetail .sellerButtonRow a.button.thirdPartyLink,
.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink {
  background-color: #1570A6;
  max-width: 65%;
  color: #fff;
  margin: 0 auto;
}

.itemDetail .sellerButtonRow a.button.thirdPartyLink:hover,
.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink:hover {
  background-color: #2586BF;
  color: white;
}

.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink {
  max-width: 90%;
  width: 90%;
  text-align: center;
}

.itemDetail .sellerButtonRowResponsive a.button.thirdPartyLink i {
  margin-right: 5px;
}

.itemDetail .similarAds {
  order: 3;
  margin-top: 5px;
}

.itemDetail .similarAds .listing .listingPrice {
  font-size: 14px;
}

@media (max-width: 576px) {
  .itemDetail .similarAds {
    margin: 40px 10px 20px;
  }
}

.itemDetail .recentlyOpenedListings {
  order: 4;
  padding: 0;
}

.itemDetail .recommendedListings {
  order: 5;
}

.itemDetail .recommendedListings .recentlyAdded {
  margin: 0 0 40px;
}

.itemDetail .linksBlock {
  margin: 40px 0 0;
}

.itemDetail .linksBlock .linksBlockLink {
  max-width: 45%;
}

.itemDetail .linksBlock .linksBlockLink .reportItem {
  display: none;
}

.itemDetail .linksBlock .linksBlockLink i {
  font-size: 14px;
  font-weight: 400;
  margin-right: 5px;
}

@media (max-width: 725px) {
  .itemDetail .linksBlock {
    flex-direction: row;
  }
}

@media (max-width: 576px) {
  .itemDetail .linksBlock {
    margin: 40px 10px 20px;
  }
}

.itemDetail .banner {
  order: 2;
  align-self: center;
  padding-top: 44px;
}

@media (max-width: 768px) {
  .itemDetail .banner {
    padding-top: 20px;
  }
}

.itemDetail .itemInfo {
  word-break: break-word;
}

.subheading {
  color: #B0BAC3;
}

.priceDetail {
  font-size: 30px;
  font-weight: 700;
  margin: 5px 0;
  color: #000000;
}

.saleActive {
  font-size: 20px;
  font-weight: 300;
  color: #B0BAC3;
  text-decoration: line-through;
}

.saleIcon {
  height: 30px;
}

.itemDetailsWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.itemDetailsWrapper .brandWrapper {
  display: flex;
  width: 50%;
}

.itemDetailsWrapper .brandWrapper .brandHeading {
  display: inline-block;
  font-weight: 700;
  margin-right: 5px;
}

.itemDetailsWrapper .brandWrapper .brand {
  display: inline-block;
}

.itemDetailsWrapper .conditionWrapper {
  display: flex;
  justify-content: space-evenly;
  width: 50%;
}

.itemDetailsWrapper .conditionWrapper .conditionHeading {
  display: inline-block;
  font-weight: 700;
  margin-right: 5px;
}

.itemDetailsWrapper .conditionWrapper .condition {
  display: inline-block;
}

.itemDetailsWrapper .sellerWrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  background: #EFF5F9;
  border-radius: 10px;
  padding: 16px;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 4px;
  padding-right: 4px;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading .sellerName {
  font-weight: 400;
  font-size: 12px;
  margin-right: 12px;
}

.itemDetailsWrapper .sellerWrapper .sellerHeading .sellerName .detail {
  display: inline-block;
}

.itemDetailsWrapper .sellerWrapper .sellerPhoneNumber {
  font-size: 30px;
  font-weight: 400;
  text-align: left;
  margin-left: 4px;
  margin-bottom: 8px;
  display: flex;
}

.itemDetailsWrapper .sellerWrapper .sellerPhoneNumber span {
  align-self: center;
  display: none;
  color: #11BB55;
  font-size: 20px;
  margin-left: 205px;
  position: absolute;
  margin-bottom: -60px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button {
  flex: 1 1 0px;
  margin-left: 0;
  width: auto;
  min-width: 170px;
  font-size: 12px;
  margin: 4px;
  text-align: center;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button:not(:last-of-type) {
  margin-right: 10px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow .button i {
  margin-right: 8px;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a {
  color: #1570A6;
  border: 1px solid #1570A6;
  background-color: #EFF5F9;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a:hover {
  color: #1570A6;
  border: 1px solid #1570A6;
  background-color: #dce9f2;
  text-decoration: none;
}

.itemDetailsWrapper .sellerWrapper .sellerButtonRow a:hover i:hover {
  text-decoration: none;
}

.itemDetailsWrapper .sellerWrapper .detail {
  flex-basis: 100%;
  text-align: left;
}

.itemDetailsWrapper .sellerWrapper .detail img {
  width: 25px;
  margin-right: -5px;
}

.itemDetailsWrapper hr {
  width: 100%;
  margin-bottom: 1rem;
}

.itemDetailsWrapper > a {
  width: 100%;
  text-align: center;
}

.itemFlagged {
  font-weight: 900;
  color: #1570A6;
}

@media (max-width: 900px) {
  .itemDetail .itemDetailContainer .rightPanel .contactListings {
    flex-direction: column;
  }
  .itemDetail .itemDetailContainer .rightPanel .contactListings a.button {
    margin-bottom: 10px;
  }
}

@media (max-width: 576px) {
  .itemDetail {
    padding: 0;
  }
  .itemDetail .back {
    display: none;
  }
  .itemDetail .linksBlock {
    margin-top: 15px;
    margin-bottom: 0px;
  }
  .itemDetail .linksBlock .linksBlockLink .reportItem {
    display: initial;
  }
  .itemDetail .itemDetailContainer {
    flex-direction: column;
    padding: 0;
    margin-top: 0;
    box-shadow: none;
  }
  .itemDetail .itemDetailContainer .leftPanel, .itemDetail .itemDetailContainer .rightPanel {
    display: none;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarousel, .itemDetail .itemDetailContainer .rightPanel .itemCarousel {
    margin: 0;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarousel img, .itemDetail .itemDetailContainer .rightPanel .itemCarousel img {
    border-radius: 0;
  }
  .itemDetail .itemDetailContainer .leftPanel .itemCarouselNav, .itemDetail .itemDetailContainer .rightPanel .itemCarouselNav {
    margin-top: 15px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper {
    border-radius: 20px;
    margin-top: -18px;
    position: relative;
    padding: 6%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper .pinButton, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper .pinButton {
    right: 0;
    position: absolute;
    background-color: #1570A6;
    width: 45px;
    visibility: visible;
    box-shadow: 0px 0px 6px 1px #8888882E;
    border-radius: 28px 0 0 28px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper .pinButton img, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper .pinButton img {
    width: auto;
    margin-left: 5px;
    height: 30px;
    background-color: transparent;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper h1, .itemDetail .itemDetailContainer .leftPanel .sellerWrapper h2, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper h1, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper h2 {
    font-weight: 700;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper hr, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper hr {
    width: 100%;
    margin-bottom: calc(16px + 4%);
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper ul, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper ul {
    padding: 4%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper ul li, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper ul li {
    font-size: 16px;
    font-weight: 700;
    color: #1570A6;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a .detail, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a .detail {
    margin: 15px 0;
    font-size: 16px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a .detail img, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a .detail img {
    width: 30px;
    margin-right: -5px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a.contactButton, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a.contactButton {
    margin: 30px 0 0 0;
    width: 100%;
    font-size: 16px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper a.contactButton:hover, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper a.contactButton:hover {
    color: #FFF;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #copyNumber, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #copyNumber {
    margin-left: auto;
    width: 90%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #copyNumber i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #copyNumber i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #openMail, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #openMail {
    margin-left: auto;
    width: 90%;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #openMail i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #openMail i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #whatsappMessage, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #whatsappMessage {
    text-align: center;
    margin-left: auto;
  }
  .itemDetail .itemDetailContainer .leftPanel .sellerWrapper #whatsappMessage i, .itemDetail .itemDetailContainer .rightPanel .sellerWrapper #whatsappMessage i {
    margin-right: 4px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel {
    display: block;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .leftPanel {
    width: 100%;
    display: block;
    padding: 0;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel #googleMap2 {
    height: 324px;
    width: 100%;
    margin-top: -24px;
    padding-top: 24px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel #googleMap2 > div {
    z-index: -1;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 15px;
    background-color: #FFF;
    border-radius: 24px;
    margin-top: -20px;
    font-size: 16px;
    box-shadow: 0px 0px 6px 1px #8888882E;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations a img {
    width: 48px;
  }
  .itemDetail .itemDetailContainer .itemMobilePanel .googleMapLocations p {
    font-size: 12px;
    margin: 0;
    color: #B0BAC3;
    width: 100%;
  }
  .itemDetail .similarAds {
    margin: 5px 6% 0;
  }
  .itemDetail .similarAds .heading {
    font-size: 24px;
  }
  .itemDetail .similarAds .wrapper .listing {
    margin-right: 0;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail {
    width: 60%;
    padding-left: 20px;
    flex-direction: row;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .listingLocation {
    flex-basis: unset;
    order: 2;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .listingPrice {
    right: unset;
    bottom: unset;
  }
  .itemDetail .similarAds .wrapper .listing .listingDetail .noLoc {
    flex-basis: unset;
    order: 2;
  }
  .itemDetail .recentlyOpenedListings {
    padding: 0 6% 20px;
  }
  .itemDetail .recentlyOpenedListings .heading {
    font-size: 24px;
    padding: 20px 0;
  }
  .itemDetail .recentlyOpenedListings .listing {
    flex-basis: 50%;
    margin: 0;
    padding-bottom: 60px;
    height: auto;
  }
  .itemDetail .recentlyOpenedListings .listing .imageWrapper {
    width: 100%;
    margin: 0 5%;
    display: block;
  }
  .itemDetail .recentlyOpenedListings .listing .imageWrapper .listingImage {
    width: 90%;
  }
  .itemDetail .recentlyOpenedListings .listing .listingDetail {
    display: block;
    width: 100%;
    height: 100px;
  }
  .itemDetail .recentlyOpenedListings .listing .listingDetail .listingPrice {
    left: revert;
    bottom: unset;
    right: 7px;
    font-size: 14px;
    padding: 2px 12px;
  }
  .itemDetail .recommendedListings {
    display: none;
  }
}

.tooltip > .tooltip-inner {
  border-radius: 8px;
  background-color: #1570A6;
  color: #FFFFFF;
  border: 1px solid #1570A6;
  font-size: 10px;
}

.tooltip.top > .tooltip-arrow {
  border-top: 5px solid #1570A6;
}

.recentlyAdded .tooltip > .tooltip-inner {
  border-radius: 8px;
  background-color: #1570A6;
  color: #FFFFFF;
  border: 1px solid #1570A6;
  font-size: 10px;
  margin-left: 220px;
}

.recentlyAdded .tooltip.top > .tooltip-arrow {
  border-top: 5px solid #1570A6;
  margin-left: 20px;
}

.kategories {
  padding: 0 8%;
}

.kategories .interestsSetup {
  text-decoration: none;
  font-size: 12px;
  align-self: center;
}

@media (max-width: 576px) {
  .kategories {
    padding: 0 4%;
  }
}

.similarAds .wrapper .listing {
  flex-basis: calc(25% - 20px);
  margin-right: 20px;
}

.similarAds .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 575px) {
  .similarAds .wrapper {
    flex-direction: column;
  }
  .similarAds .wrapper .listing {
    position: relative;
    margin-bottom: 30px;
  }
  .similarAds .wrapper .listing .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .similarAds .wrapper .listing .listingDetail {
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    padding-left: 20px;
    height: 100%;
    margin: 0;
  }
  .similarAds .wrapper .listing .listingDetail .listingLocation {
    font-size: 12px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
  }
  .similarAds .wrapper .listing .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
  }
  .similarAds .wrapper .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: #FFF;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    left: -44px;
    bottom: 6px;
    font-size: 12px;
    font-weight: 700;
  }
}

.listing {
  position: relative;
  overflow: hidden;
}

.listing:hover {
  cursor: pointer;
}

.listing .listingImage {
  width: 100%;
  border-radius: 10px;
  box-shadow: 2px 2px 5px #8888882E;
}

.listing button:not(.topAdButton) {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  left: 15px;
  top: 0px;
  background-color: #FFF;
  border-radius: 0px 0px 15px 15px;
  margin: 0;
  visibility: hidden;
}

.listing button:not(.topAdButton) img {
  margin-left: 2px;
}

.listing .listingDetail {
  display: flex;
  position: relative;
  margin-top: 10px;
  flex-wrap: wrap;
  font-size: 12px;
}

.listing .listingDetail .listingLocation {
  position: absolute;
  right: 0;
  white-space: nowrap;
}

.listing .listingDetail .listingLocation img {
  display: inline-block;
  height: 25px;
  width: auto;
  margin-right: -6px;
  margin-left: -6px;
}

.listing .listingDetail .listingInfo {
  width: 100%;
}

.listing .listingPrice {
  font-weight: 700;
  font-size: 14px;
}

.listing .imageWrapper {
  position: relative;
}

.listing .imageWrapper .adItemSticker {
  background: #1570A6;
  color: #FFF;
  position: absolute;
  height: 22px;
  top: 50%;
  right: 10px;
  transform: translateX(50%) translateY(-50%) rotate(-90deg);
  padding: 2px 16px 2px 16px;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  font-size: 12px;
}

.listing .imageWrapper .topItemSticker {
  display: flex;
  justify-content: center;
  height: 28px;
  width: 30px;
  position: absolute;
  right: 15px;
  top: 0px;
  margin: 0;
  border-radius: 0px 0px 15px 15px;
  background: #1570A6;
}

.listing .imageWrapper .topItemSticker img {
  height: 22px;
  margin-top: 2px;
}

.listing .imageWrapper .pinToBoard {
  z-index: 1;
}

.listing .itemDetailLink {
  text-decoration: none;
  color: inherit;
}

.addListing {
  height: 200px;
  width: 250px;
  background-color: #FFF;
  color: blue;
  font-size: 16px;
  box-shadow: 0 0 6px 0px #00000030;
  font-weight: 700;
  margin: 0;
  color: #1570A6;
}

.addListing:hover {
  color: #FFF;
}

.topItemRibbon {
  position: absolute;
  height: 27px;
  max-height: 100%;
  top: calc(100% - 27px);
  width: 100%;
  text-align: center;
  background-color: #003e6fbd;
  border-radius: 0 0 10px 10px;
  padding: 4px;
  overflow: hidden;
  color: #FFF;
}

.topItemRibbon h4 {
  margin-bottom: 0;
}

.topItemRibbon .topItemDetails {
  display: none;
}

.topItemRibbon .topItemDetails .topItemDetail p {
  margin: 0;
}

@media (max-width: 576px) {
  .topItemRibbon h4 {
    font-size: 12px;
    line-height: 20px;
  }
}

.status {
  display: flex;
  align-items: center;
  visibility: visible !important;
  padding: 0;
}

.status i {
  width: 100%;
  color: #1570A6;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2px;
}

@media (max-width: 576px) {
  .listing:not(.ignoreBreakpoints) {
    position: relative;
    margin-bottom: 30px;
  }
  .listing:not(.ignoreBreakpoints) .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail {
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    width: 100%;
    margin-left: -40%;
    padding-left: calc(40% + 15px);
    margin-top: 0;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingLocation {
    font-size: 10px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
    height: 4.2em;
    overflow: hidden;
  }
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    position: absolute;
    background-color: white;
    padding: 2px 12px;
    left: 0;
    border-radius: 0 12px 12px 0;
    text-align: right;
    top: 69px;
    font-size: 12px;
    font-weight: 700;
  }
}

@media (max-width: 576px) and (max-width: 420px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 60px;
  }
}

@media (max-width: 576px) {
  .listing:not(.ignoreBreakpoints) .listingDetail a img {
    height: 25px;
    width: auto;
    margin-bottom: 7px;
    margin-right: -5px;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper {
    display: inline-block;
    width: 40%;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .listingPrice {
    position: absolute;
    background-color: white;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    right: 0;
    bottom: 6px;
    font-size: 12px;
    font-weight: 700;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .pinToBoard {
    display: none !important;
  }
  .listing:not(.ignoreBreakpoints) .imageWrapper .adItemSticker {
    font-size: 10px;
    height: 16px;
    right: 8px;
    padding: 0px 4px 0px 4px;
  }
}

@media (max-width: 460px) {
  .listing:not(.ignoreBreakpoints) .listingPrice {
    top: 70px;
  }
}

@media (max-width: 385px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 50px;
  }
}

@media (max-width: 340px) {
  .listing:not(.ignoreBreakpoints) .listingDetail .listingPrice {
    top: 45px;
  }
}

.topKategorie {
  padding: 0 8%;
}

.topKategorie .heading {
  padding: 44px 0 34px 0;
  font-weight: 700;
}

.topKategorie .heading a {
  color: #1570A6;
  font-size: 1.5625rem;
}

.topKategorie .wrapper .listing {
  width: calc(25% - 20px);
  margin-bottom: 30px;
}

.topKategorie .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 576px) {
  .topKategorie .wrapper .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
  }
}

.topKategorie .wrapper .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 576px) {
  .topKategorie .wrapper .listing .listingPrice {
    flex-basis: unset;
  }
}

.topKategorieHr {
  margin: 0 8%;
}

@media (max-width: 576px) {
  .topKategorie {
    padding: 0 4%;
  }
  .topKategorie .heading {
    font-weight: 700;
  }
  .topKategorie .heading a {
    font-size: 18px;
    color: #1570A6;
  }
  .topKategorie .wrapper .listing {
    width: calc(50% - 20px);
  }
  .topKategorie .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .topKategorie .wrapper .listing .listingDetail {
    display: block;
    position: relative;
    top: 0;
    width: 100%;
    margin: 0;
    padding-left: 0;
  }
  .topKategorie .wrapper .listing .listingPrice {
    bottom: unset;
    font-size: 12px;
    padding: 8px 12px;
    left: 0;
    border-radius: 0 20px 20px 0;
    text-align: right;
    flex-basis: unset;
    top: 0;
    margin-top: -50px;
  }
  .topKategorie .wrapper .listing .listingLocation {
    flex-basis: unset;
    margin-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topKategorie .wrapper .imageWrapper {
    width: 100%;
  }
}

.kategoriesOfInterest {
  padding: 0 8% 20px;
}

.kategoriesOfInterest .kategorieContainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  .kategoriesOfInterest {
    padding: 20px 4%;
  }
}

.kategorie {
  flex-basis: 19%;
  margin-bottom: 30px;
  margin-right: 5px;
  background-color: white;
}

.kategorie .kategorieImage {
  display: inline-block;
  width: 40%;
  position: relative;
}

@media (max-width: 576px) {
  .kategorie .kategorieImage {
    overflow: hidden;
    border-radius: 10px;
  }
}

.kategorie .kategorieImage img {
  width: 100%;
  border-radius: 10px;
}

.kategorie .kategorieImage .imgOverlay {
  display: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #0000008a;
  border-radius: 10px;
  z-index: 1;
}

.kategorie .kategorieImage .imgOverlay i {
  color: #FFF;
  font-size: 16px;
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.kategorie .kategorieLabel {
  display: inline-block;
  position: relative;
  height: 100%;
  width: 58%;
  padding-left: 15px;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 576px) {
  .kategorie .kategorieLabel > span {
    font-size: 12px;
  }
}

@media (max-width: 1100px) {
  .kategorie {
    flex-basis: calc(20% - 10px);
    margin-bottom: 30px;
    position: relative;
    margin-right: 10px;
    height: 120px;
  }
  .kategorie .kategorieImage {
    width: 100%;
  }
  .kategorie .kategorieImage img {
    position: relative;
    display: block;
    width: auto;
    height: 120px;
    left: 0;
  }
  .kategorie .kategorieLabel {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 120px;
    color: white;
    background-color: #00000045;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
  }
  .kategorie .kategorieLabel span {
    position: absolute;
    bottom: 6px;
    left: 13px;
  }
}

.recommendedListings .wrapper .listing {
  width: calc(20% - 20px);
  margin: 0 10px;
}

.recommendedListings .wrapper .listing .listingLocation {
  flex-basis: 50% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 852px) {
  .recommendedListings .wrapper .listing .listingLocation {
    flex-basis: unset;
    overflow: unset;
    text-overflow: unset;
  }
}

.recommendedListings .wrapper .listing .listingPrice {
  flex-basis: 50%;
}

@media (max-width: 852px) {
  .recommendedListings .wrapper .listing .listingPrice {
    flex-basis: unset;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .listing {
    position: relative;
    margin-bottom: 30px;
    width: auto;
    flex-basis: calc(50% - 20px);
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingImage {
    display: inline-block;
    width: 100%;
    border-radius: 10px;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail {
    display: inline-flex;
    flex-direction: row;
    position: absolute;
    height: 100%;
    width: 100%;
    margin-left: -40%;
    padding-left: calc(40% + 15px);
  }
}

@media (max-width: 852px) and (max-width: 576px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail {
    margin-top: 0;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .noLoc {
    order: 2;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingLocation {
    font-size: 12px;
    order: 2;
    padding-top: 4px;
    margin-left: -5px;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingInfo {
    font-size: 12px;
    font-weight: 700;
    order: 1;
    margin: 0;
  }
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingPrice {
    position: absolute;
    background-color: #FFF;
    padding: 2px 12px;
    border-radius: 12px 0 0 12px;
    left: unset;
    right: 60%;
    bottom: 6px;
    top: unset;
  }
}

@media (max-width: 852px) and (max-width: 576px) {
  .recommendedListings .wrapper:not(.carousel) .listing .listingDetail .listingPrice {
    bottom: 0px;
  }
}

@media (max-width: 852px) {
  .recommendedListings .wrapper:not(.carousel) .imageWrapper {
    display: inline-block;
    width: 40%;
  }
  .recommendedListings .wrapper:not(.carousel) .hideDesktop {
    display: none;
  }
}

@media (max-width: 715px) {
  .recentlyAdded {
    margin: 0 4%;
  }
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.searchResults {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  min-height: 500px;
}

.searchResults .filterPanel {
  position: relative;
  flex-basis: 20%;
  background-color: #FAFAFF;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #8888882E;
  min-width: 270px;
  max-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.searchResults .filterPanel h1 {
  font-weight: 700;
}

.searchResults .filterPanel span p {
  color: #1570A6;
  font-size: 12px;
}

.searchResults .filterPanel .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.searchResults .filterPanel .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.searchResults .filterPanel .form-inline .form-group label {
  position: relative;
}

.searchResults .filterPanel .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 9px;
  bottom: -12px;
  z-index: 3;
}

.searchResults .filterPanel .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 14px;
  top: -7px;
  z-index: 3;
}

.searchResults .filterPanel .form-inline .form-group label i.iconRight {
  left: 221px;
  font-size: 15px;
}

.searchResults .filterPanel .form-inline .form-group label .iconRight {
  left: 212px;
}

.searchResults .filterPanel .form-inline .form-group .form-control {
  display: inline-block;
  width: 100%;
  margin: 0;
  font-size: 12px;
}

.searchResults .filterPanel .form-inline .form-group .form-control:not(select) {
  line-height: 41px;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputWrapper {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  z-index: 2;
  border-radius: 28px;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.searchResults .filterPanel .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.searchResults .filterPanel .form-inline .boxText {
  position: absolute;
  width: 35px;
  height: 39px;
  bottom: 11px;
  left: calc((100% - 35px) / 2);
  background-color: #FFF;
  line-height: 38px;
  z-index: 3;
}

.searchResults .filterPanel.hideMobile .sortBy {
  width: 100%;
}

.searchResults .filterPanel.hideMobile .sortBy label {
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.searchResults .filterPanel.hideMobile .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.searchResults .filterPanel.hideMobile .sortBy select {
  width: 80%;
}

.searchResults .filterPanel.hideMobile .distanceInput {
  justify-content: center;
  padding: 20px 0;
}

.searchResults .filterPanel.hideMobile .distanceInput input {
  text-align: inherit;
  max-width: 24px;
  font-size: 12px;
}

.searchResults .publicBoards {
  padding: 15px 5%;
  margin-top: -10px;
  margin-bottom: 25px;
  background-color: #DCEBF2;
}

.searchResults .publicBoards .board {
  flex-basis: calc(33.33% - 30px);
  display: flex;
  flex-direction: column;
  margin: 15px 20px;
  padding: 10px 5px 0;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 10px;
  background-color: #FFF;
}

.searchResults .publicBoards .board .imageWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.searchResults .publicBoards .board .imageWrapper img {
  flex-basis: calc(50% - 8px);
  width: calc(50% - 8px);
  margin: 0 4px 5px;
  border-radius: 5px;
  height: 100%;
}

.searchResults .publicBoards .board .boardInfo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
  margin-top: auto;
}

.searchResults .publicBoards .board .boardInfo h4 {
  margin-top: 5px;
  flex-basis: 100%;
}

.searchResults .publicBoards .board .boardInfo p {
  flex-basis: 50%;
}

.results {
  background-color: #FFF;
  overflow: hidden;
}

.results .filterBar {
  display: flex;
  flex-direction: row;
  height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #8888882E;
  align-items: center;
  padding-left: 8%;
}

.results .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.results .sortBy h5 {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
  margin-right: 5%;
}

.results .sortBy select {
  display: inline-block;
  width: 68%;
  min-width: 130px;
  padding: 0.75rem 1.5rem;
}

.results .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.results .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.results .sortBy label i {
  position: absolute;
  right: 24px;
  bottom: 1px;
}

.results .distanceInput {
  flex-basis: 33.33%;
  display: flex;
  margin: 0;
  align-items: center;
  justify-content: space-between;
}

.results .distanceInput h5 {
  display: inline-block;
  font-weight: 700;
  margin: 0 0 0 5px;
  white-space: nowrap;
}

.results .distanceInput span {
  white-space: nowrap;
  order: 0;
}

.results .distanceInput button {
  display: block;
  width: 30px;
  min-width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0 10px;
  background-color: #FFF;
  color: black;
  box-shadow: 0 0 6px 0 #0000002b;
  font-size: 16px;
  border-radius: 50%;
}

.results .distanceInput button[id=decrementBtn] {
  margin-left: 0;
  margin-right: 20px;
}

.results .distanceInput button[id=incrementBtn] {
  margin-right: 0;
  margin-left: 20px;
}

.results .distanceInput input {
  border: none;
  text-align: center;
  box-shadow: none;
  max-width: calc(100% - 122px);
}

.results .pagination {
  display: flex;
  list-style: none;
  border-radius: 28px;
  flex-basis: 33.33%;
  justify-content: flex-end;
  padding-left: 4%;
  align-items: baseline;
  padding-top: 4px;
}

.results .pagination h5 {
  font-weight: 700;
  margin-right: 5px;
}

.results .pagination a {
  color: black;
  padding: 4px 8px;
  text-decoration: none;
  margin: 0 2px;
  border-radius: 5px;
}

.results .pagination a.active {
  background-color: #1570A6;
  color: #FFF;
}

.results .pagination.hideMobile {
  flex-basis: 100%;
  justify-content: center;
  padding-top: 0;
}

.results .wrapper {
  padding: 0 8%;
  overflow: hidden;
  overflow-y: auto;
}

.results .wrapper .listing {
  margin: 0 10px;
  flex-basis: calc(33.33% - 20px);
}

.results .wrapper .wrapper {
  padding: 0;
}

.results .recentlyAdded {
  margin: 0 0 40px;
}

@media (max-width: 1130px) {
  .searchResults {
    padding-left: 4%;
  }
}

@media (max-width: 1040px) {
  .searchResults {
    padding-left: 0;
  }
  .results .filterBar, .results .wrapper {
    padding: 0 4%;
  }
}

@media (max-width: 950px) {
  .searchResults {
    width: 100%;
  }
  .searchResults .hideDesktop {
    display: none;
  }
  .searchResults .pagination.hideMobile {
    display: flex !important;
  }
  .searchResults .results {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
  }
  .searchResults .results .sortBy {
    flex-basis: 100%;
    margin: 10PX 0 0 0;
  }
  .searchResults .results .sortBy h5 {
    display: none;
  }
  .searchResults .results .sortBy label {
    top: 13px;
    width: 30%;
  }
  .searchResults .results .sortBy select {
    order: 4;
    width: 30%;
    min-width: 100px;
    flex-basis: 100%;
    margin: 0 35%;
    box-shadow: 0 0 3px 1px #00000040;
  }
  .searchResults .results .distanceInput {
    margin: 10px 0;
    width: 100%;
    justify-content: center;
    align-items: baseline;
  }
  .searchResults .results .distanceInput h5 {
    margin: 0;
  }
  .searchResults .results .distanceInput input {
    width: 40px;
    text-align: center;
    border: none;
    background-color: inherit;
  }
  .searchResults .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .searchResults .results .filterBar .distanceInput, .searchResults .results .filterBar .pagination {
    display: none;
  }
  .searchResults .results .costInput label img {
    top: 8px;
  }
  .searchResults .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #1570A6;
  }
  .searchResults .results .wrapper {
    order: 5;
  }
  .searchResults .publicBoards {
    background-color: initial;
  }
}

.advancedSearchMenu {
  display: flex;
  position: relative;
  flex-direction: column;
  background-color: #FAFAFF;
}

.advancedSearchMenu .advancedSearchLink {
  width: 100%;
  margin: 0;
  border-radius: 0;
  background-color: inherit;
  color: black;
}

.advancedSearchMenu .advancedSearchLink h5 {
  margin: 0;
}

.advancedSearchMenu .advancedSearchLink h5 i {
  margin-left: 10px;
}

.advancedSearchMenu #advancedSearch {
  flex-direction: column;
  position: relative;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs {
  position: relative;
  width: 100%;
  padding: 10px 8%;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs label {
  position: relative;
  width: 100%;
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs input, .advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
  width: 100%;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
  margin: 10px 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img {
  height: 25px;
  position: absolute;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i {
  font-size: 12px;
  position: absolute;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft {
  left: 6px;
  top: 18px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft.locationIcon {
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconRight {
  right: 8px;
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft {
  left: 12px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
  right: 12px;
  top: 26px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft.iconLeftSearch {
  top: 14px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost {
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label {
  z-index: 1;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label img {
  top: 8px;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputWrapper {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  border-radius: 28px;
  z-index: 0;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft {
  width: 50%;
  border-radius: 28px 0 0 28px;
  border-right: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight {
  width: 50%;
  border-radius: 0 28px 28px 0;
  border-left: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .boxText {
  text-align: center;
  bottom: 11px;
}

.advancedSearchMenu #advancedSearch #discountToggle {
  display: flex;
  width: 100%;
  padding: 0 8%;
  justify-content: space-between;
  margin: 20px 0;
}

.advancedSearchMenu #advancedSearch #discountToggle span.slider {
  margin: 0;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 17px 0;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose h5 {
  margin-right: 10px;
}

.advancedSearchMenu #advancedSearch #advancedSearchLinkClose i {
  font-size: 14px;
}

.biznis-items .listing {
  flex-basis: calc(25% - 20px) !important;
}

@media (max-width: 1130px) {
  .searchResults {
    padding-left: 4%;
  }
}

@media (max-width: 1040px) {
  .searchResults {
    padding-left: 0;
  }
  .searchResults .results .filterBar, .searchResults .results .wrapper {
    padding: 10px 4%;
  }
}

@media (max-width: 950px) {
  .searchResults {
    width: 100%;
  }
  .searchResults .results {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
  }
  .searchResults .results .sortBy {
    flex-basis: 100%;
    margin: 10PX 0 0 0;
  }
  .searchResults .results .sortBy h5 {
    display: none;
  }
  .searchResults .results .sortBy label {
    top: 13px;
    width: 30%;
  }
  .searchResults .results .sortBy select {
    order: 4;
    width: 30%;
    min-width: 100px;
    flex-basis: 100%;
    margin: 0 35%;
    box-shadow: 0 0 3px 1px #00000040;
  }
}

@media (max-width: 950px) and (max-width: 576px) {
  .searchResults .results .sortBy select {
    width: 100%;
    min-width: unset;
    margin: 6px 0;
  }
}

@media (max-width: 950px) {
  .searchResults .results .distanceInput {
    margin: 10px 0;
    width: 100%;
    justify-content: center;
    align-items: baseline;
    flex-basis: unset;
  }
  .searchResults .results .distanceInput h5 {
    margin: 0;
  }
  .searchResults .results .distanceInput input {
    width: 40px;
    text-align: center;
    border: none;
    background-color: inherit;
  }
  .searchResults .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .searchResults .results .filterBar .distanceInput, .searchResults .results .filterBar .pagination {
    display: none;
  }
  .searchResults .results .costInput label img {
    top: 8px;
  }
  .searchResults .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #1570A6;
  }
  .searchResults .results .wrapper {
    order: 5;
  }
  .searchResults .hideDesktop {
    display: none;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
    right: 20px;
  }
}

@media (max-width: 576px) {
  .results .wrapper .listing {
    flex-basis: calc(50% - 20px);
    height: 45%;
    max-height: 275px;
    min-height: 200px;
  }
  .results .wrapper .listing .imageWrapper {
    display: block;
    width: 100%;
  }
  .results .wrapper .listing .imageWrapper img:not(.imagePin) {
    display: block;
    width: 100%;
  }
  .results .wrapper .listing .listingDetail {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    padding-top: 67%;
    top: 0;
  }
  .results .wrapper .listing .listingPrice {
    bottom: unset;
    top: 50px;
    left: unset;
    right: 0;
  }
  .advancedSearchMenu .advancedSearchLink h5 {
    font-size: 14px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs label {
    margin: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconLeft.iconLeftSearch {
    top: 18px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft {
    left: 6px;
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs i.iconRight {
    right: 18px;
    top: 16px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconLeft.locationIcon {
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs img.iconRight {
    right: 8px;
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs select {
    margin: 0;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost label img {
    top: 11px;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputLeft {
    border-radius: 28px 0 0 28px;
    border-right: none;
  }
  .advancedSearchMenu #advancedSearch .form-group.jumboInputs.cost .costInputRight {
    border-radius: 0 28px 28px 0;
    border-left: none;
  }
  .biznis-items .listing {
    flex-basis: calc(50% - 20px) !important;
  }
}

.registration {
  padding: 0 8%;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.registration .breadcrumb li {
  width: 33.33%;
  margin: 0;
}

.registration .newItemRegistration {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 74%;
  margin: 0 13% 20px;
}

.registration .newItemRegistration section {
  width: 100%;
}

.registration .newItemRegistration .form-group {
  flex-basis: 50%;
}

.registration .newItemRegistration .form-group img {
  right: 25px;
  bottom: 7px;
}

.registration .newItemRegistration .form-group i {
  right: 29px;
  bottom: 12px;
}

.registration .newItemRegistration .form-group input {
  width: 90%;
  margin: 0 5%;
}

.registration .newItemRegistration .dob {
  flex-basis: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
}

.registration .newItemRegistration .dob label {
  position: absolute;
  margin: 10px 0;
  flex-basis: 25%;
  min-width: 130px;
  text-align: right;
}

.registration .newItemRegistration .dob .form-group {
  flex-basis: 25%;
  width: 90%;
  margin: 0 5%;
}

.registration .newItemRegistration .dob #dateOfBirthInputs {
  padding: 0 8%;
  width: 80%;
  display: flex;
  margin-left: 10%;
}

.registration .newItemRegistration .dob #dateOfBirthInputs select {
  min-width: 100px;
  padding: 0 20px;
}

.registration .newItemRegistration .socialRegister {
  width: 100%;
  margin: 0 13%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.registration .newItemRegistration .socialRegister button {
  margin-right: 0;
}

.registration .newItemRegistration .form-check {
  width: 100%;
  margin: 30px 0;
}

.registration .smsVerificationForm .form-group {
  display: flex;
  width: 50%;
  margin: 40px 25%;
  align-items: baseline;
}

.registration .smsVerificationForm .form-group label {
  flex-basis: 50%;
  font-weight: 700;
}

.registration .smsVerificationForm .form-group input {
  flex-basis: 50%;
}

.registration .smsVerificationForm > a {
  display: block;
  margin: 30px 0;
  text-decoration: underline;
}

.registration .sendNewSMS .form-group {
  display: flex;
  width: 50%;
  margin: 40px 25%;
  align-items: baseline;
}

.registration .sendNewSMS .form-group label {
  flex-basis: 50%;
  font-weight: 700;
}

.registration .sendNewSMS .form-group input {
  flex-basis: 50%;
}

.registration .sendNewSMS > a {
  display: block;
  margin: 30px 0;
  text-decoration: underline;
}

.registration .sendNewSMS .newSMS {
  width: 150px;
  margin-left: calc(50% - 75px);
}

.newItem {
  display: flex;
  flex-direction: row;
  position: relative;
  padding: 0 8%;
  height: calc(100% - 61px);
}

.newItem .adminPanel {
  position: relative;
  flex-basis: 25%;
  background-color: #FAFAFF;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #8888882E;
  min-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.newItem .adminPanel h1 {
  font-weight: 700;
}

.newItem .adminPanel span p {
  color: #1570A6;
  font-size: 12px;
}

.newItem .adminPanel .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.newItem .adminPanel .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.newItem .adminPanel .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 11%;
  z-index: 3;
  bottom: unset;
}

.newItem .adminPanel .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 36px;
  z-index: 3;
}

.newItem .adminPanel .form-inline .form-group label i.iconRight {
  left: auto;
  font-size: 15px;
  right: 15%;
  top: 24px;
}

.newItem .adminPanel .form-inline .form-group label .iconRight {
  left: 190px;
}

.newItem .adminPanel .form-inline .form-group label i.fa-youtube {
  font-size: 17px;
  top: 23px;
  left: 12%;
  right: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control {
  display: inline-block;
  width: 80%;
  margin-left: 10%;
  padding: 10px;
  border-radius: 10px;
  border: none;
  box-shadow: 0 0 6px #8888882E;
}

.newItem .adminPanel .form-inline .form-group .form-control.locationInputOpen {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.newItem .adminPanel .form-inline .form-group .form-control.wIcon {
  padding: 0 32px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage {
  position: relative;
  justify-content: center;
  align-items: center;
  min-height: 150px;
  height: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadListingImage {
  width: 120px;
  margin-left: calc(50% - 60px);
  margin-top: 45px;
  font-size: 11px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg {
  position: relative;
  height: 56px;
  width: 56px;
  margin-bottom: 10px;
  margin-right: 6px;
  cursor: move;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg img {
  height: 100%;
  width: 100%;
  border-radius: 5px;
  right: 0;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg .removeUploaded {
  width: 20px;
  height: 20px;
  top: -8px;
  right: -8px;
  z-index: 1;
  border: 1px solid black;
  background-color: #FFF;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg .removeUploaded i {
  right: 4px;
  top: 1px;
  font-size: 16px;
  color: black;
  font-weight: 300;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage .uploadedImages .uploadedImg button {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  background-color: transparent;
  width: auto;
}

.newItem .adminPanel .form-inline .form-group .form-control.addImage #fileInput {
  display: none;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper {
  width: 80%;
  margin-left: 10%;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper > label > img {
  left: 3px;
  top: 10px;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper .form-control {
  margin-left: 0;
  width: 100%;
}

.newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper .locationList {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup {
  flex-wrap: nowrap;
  margin-left: 10%;
  width: 80%;
  border-radius: 10px;
  box-shadow: 0 0 6px #8888882E;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup .input-group-text {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 0 12px;
  border: none;
}

.newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup .phoneNumberInput {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: none;
}

.newItem .adminPanel .form-inline .form-group.gdpr {
  padding: 15px 0;
}

.newItem .adminPanel .form-inline .form-group.gdpr label {
  width: 100%;
}

.newItem .adminPanel .form-inline .form-group.gdpr input {
  margin-right: 10px;
}

.newItem .adminPanel .form-inline .form-group.gdprRight {
  padding: 15px 40px;
}

.newItem .adminPanel .form-inline .form-group.gdprRight label {
  width: 100%;
  justify-content: flex-start;
}

.newItem .adminPanel .form-inline .form-submit {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 10px 0;
}

.newItem .adminPanel .form-inline .form-submit a {
  text-align: left;
  flex-basis: 50%;
}

.newItem .adminPanel .form-inline .form-submit button {
  flex-basis: 50%;
  margin: 0;
  line-height: initial;
}

.newItem .adminPanel .form-inline .form-submit .saveDraft {
  color: #1570A6;
  background: none;
  cursor: pointer;
  font-size: 12px;
  text-align: left;
}

.newItem .adminPanel .progress {
  width: 90%;
  height: 4px;
  position: absolute;
  bottom: 0;
  display: none;
}

.newItem .adminPanel .progress.active {
  display: flex;
}

.newItem .adminPanel .progress .progress-bar {
  background-color: #1570A6;
}

.newItem .viewPanel {
  margin-top: 15px;
  flex-basis: 75%;
  background-color: #FFF;
  overflow: auto;
}

.newItem .viewPanel .listingPanels {
  display: flex;
}

.newItem .viewPanel .listingPanels .leftPanel {
  flex-basis: 50%;
  padding: 20px 4%;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper {
  position: relative;
  padding-top: 100%;
  margin-bottom: 20px;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 10px;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper div {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.newItem .viewPanel .listingPanels .leftPanel .imageWrapper div #previewImage {
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;
}

.newItem .viewPanel .listingPanels .leftPanel #googleMap {
  height: 150px;
}

.newItem .viewPanel .listingPanels .rightPanel {
  flex-basis: 50%;
  padding: 20px 0;
}

.newItem .viewPanel .listingPanels .rightPanel section .itemInfo {
  min-height: 50px;
  white-space: pre-wrap;
  word-break: break-word;
}

.detail img {
  width: 25px;
}

#categoryFieldsPreview {
  width: 100%;
}

@media (max-width: 1005px) {
  .registration .newItemRegistration .form-group img {
    right: 20px;
  }
  .registration .newItemRegistration .form-group i {
    right: 24px;
  }
  .registration .newItemRegistration .dob {
    flex-wrap: wrap;
  }
  .registration .newItemRegistration .dob label {
    position: relative;
    flex-basis: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .registration .socialRegister {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .registration .socialRegister h5 {
    flex-basis: 100%;
  }
}

@media (max-width: 700px) {
  .registration .newItemRegistration {
    width: 84%;
    margin: 0 8%;
  }
}

@media (max-width: 768px) {
  .newItem {
    padding-left: 0;
  }
}

@media (max-width: 576px) {
  .newItem {
    padding: 0;
  }
  .newItem .adminPanel {
    flex-basis: 100%;
  }
  .newItem .adminPanel .form-inline .form-group label {
    position: absolute;
    width: 100%;
    left: 0;
  }
  .newItem .adminPanel .form-inline .form-group label i.fa-youtube {
    position: absolute;
    bottom: unset;
    top: 15px;
    left: 8px;
    right: unset;
  }
  .newItem .adminPanel .form-inline .form-group label img {
    position: absolute;
    bottom: unset;
    top: 10px;
    left: 3px;
    right: unset;
  }
  .newItem .adminPanel .form-inline .form-group label img.iconRight {
    left: unset;
    right: 3px;
  }
  .newItem .adminPanel .form-inline .form-group label i.iconRight {
    top: 15px;
    left: unset;
    right: 12px;
  }
  .newItem .adminPanel .form-inline .form-group .form-control,
  .newItem .adminPanel .form-inline .form-group .fancyDropdown-wrapper, .newItem .adminPanel .form-inline .form-group .phoneNumberInputGroup {
    width: 100%;
    margin: 0;
  }
  .newItem .adminPanel .form-inline .form-group.gdpr {
    width: auto;
    align-self: flex-start;
  }
  .newItem .adminPanel .form-inline .form-group.gdpr label {
    position: relative;
  }
  .newItem .viewPanel {
    display: none;
  }
  .registration {
    padding: 0 4%;
  }
  .registration .breadcrumb {
    display: none;
  }
  .registration section {
    margin: 20px 0;
  }
  .registration .newItemRegistration {
    width: 100%;
    margin: 0 0 20px;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .registration .newItemRegistration .form-group img {
    right: 29px;
  }
  .registration .newItemRegistration .form-group i {
    right: 34px;
  }
  .registration .newItemRegistration .dob {
    width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
  }
  .registration .newItemRegistration .dob label {
    width: 100%;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs {
    flex-direction: column;
  }
  .registration .newItemRegistration .dob #dateOfBirthInputs .form-group {
    margin-bottom: 10px;
  }
  .registration .newItemRegistration .socialRegister {
    flex-direction: column;
    align-items: center;
    margin: 0;
  }
  .registration .newItemRegistration .form-check {
    padding: 0;
  }
  .registration .sendNewSMS .form-group, .registration .smsVerificationForm .form-group {
    width: 92%;
    margin: 0;
  }
}

@media (min-width: 768px) {
  .newItem #itemForm .category-alert,
  .newItem #itemForm .form-submit {
    padding-left: 10%;
    padding-right: 10%;
  }
}

.error-page {
  text-align: center;
  margin-top: 7vh;
}

@media (min-width: 992px) {
  .error-page {
    margin-top: 14vh;
  }
}

.error-page__img {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 4vh;
}

@media (min-width: 768px) {
  .error-page__img {
    max-width: 50%;
  }
}

.error-page__code {
  color: #1570A6;
  font-size: 4rem;
  font-weight: 700;
}

@media (min-width: 992px) {
  .error-page__code {
    font-size: 12rem;
  }
}

.error-page__subtitle {
  color: #1570A6;
  font-weight: 700;
}

@media (min-width: 992px) {
  .error-page__subtitle {
    font-size: 2rem;
  }
}

.error-page__description {
  max-width: 80%;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .error-page__description {
    font-size: 1rem;
    max-width: 100%;
  }
}

.error-page__back-link {
  margin-top: 6vh;
  font-size: 1rem;
}

@media (min-width: 992px) {
  .error-page__back-link {
    margin-top: 1vh;
  }
}

.wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.topKategorie .wrapper {
  justify-content: space-between;
}

.kategories .wrapper {
  justify-content: space-between;
  padding-top: 30px;
}

@media (max-width: 576px) {
  .recentlyAdded .wrapper {
    flex-direction: column;
  }
}

.heading {
  padding: 34px 0;
  font-weight: 700;
  margin-right: 10px;
  display: inline-block;
}

.heading a {
  color: #1570A6;
}

.kategoriesOfInterest .heading, .kategories .heading {
  padding: 44px 0 34px 0;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .kategories .heading {
    padding: 44px 0 15px 0;
  }
}

@media (max-width: 576px) {
  .recentlyAdded .heading, .topKategorie .heading {
    margin-right: 0;
    width: 100%;
    padding-bottom: 10px;
  }
}

.loginRegister {
  width: 40%;
  margin: 60px 30%;
  text-align: center;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 20px;
}

.loginRegister .registration-message {
  max-width: 50em;
  margin: 0 auto 20px;
}

.loginRegister .nav-tabs {
  display: flex;
}

.loginRegister .nav-tabs .nav-item:only-child {
  flex-basis: 100%;
}

.loginRegister .nav-tabs .nav-item {
  flex-basis: 50%;
}

.loginRegister .nav-tabs .nav-item .nav-link {
  border: none;
  font-size: 20px;
  font-weight: 700;
  padding: 20px;
  color: black;
  height: 70px;
  line-height: 35px;
}

.loginRegister .nav-tabs .nav-item .active {
  border-bottom: 4px solid #1570A6;
  color: #1570A6;
}

.loginRegister .tab-content .tab-pane.active {
  display: flex;
  flex-direction: column;
  padding-bottom: 40px;
}

.loginRegister .tab-content .tab-pane .form-group {
  position: relative;
}

.loginRegister .tab-content .tab-pane .form-group i {
  position: absolute;
  bottom: 21px;
  right: 10%;
  font-size: 15px;
  color: #B0BAC3;
  z-index: 1;
}

.loginRegister .tab-content .tab-pane .form-group img {
  position: absolute;
  bottom: 15px;
  right: 34px;
  font-size: 15px;
  width: 28px;
  z-index: 1;
}

.loginRegister .tab-content .tab-pane .form-group #form_token {
  max-width: 200px;
}

.loginRegister .tab-content .tab-pane .form-group input, .loginRegister .tab-content .tab-pane .form-group select {
  position: relative;
  width: 90%;
  margin: 5px 5%;
  height: 50px;
  border-radius: 25px;
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
  padding: 0 20px;
  font-size: 12px;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup {
  flex-wrap: nowrap;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .input-group-prepend {
  margin-left: 5%;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .input-group-prepend .input-group-text {
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 5%;
  padding: 0 12px;
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.loginRegister .tab-content .tab-pane .phoneNumberInputGroup .phoneNumberInput {
  margin-left: 0px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.loginRegister .tab-content .tab-pane option:disabled {
  color: #B0BAC3;
}

.loginRegister .tab-content .tab-pane input:focus, .loginRegister .tab-content .tab-pane select:focus {
  outline: none;
  box-shadow: 0 0 6px 1px #115B87;
}

.loginRegister .tab-content .tab-pane input:focus + i, .loginRegister .tab-content .tab-pane select:focus + i {
  color: black;
}

.loginRegister .tab-content .tab-pane .passInput {
  position: relative;
}

.loginRegister .tab-content .tab-pane .dob {
  display: flex;
  width: 90%;
  margin: 0 5%;
}

.loginRegister .tab-content .tab-pane .dob .form-group {
  flex-basis: 33.33%;
}

.loginRegister .tab-content h5 {
  margin: 30px 0;
}

.loginRegister .tab-content .loginButton {
  width: 130px;
  height: 40px;
  margin: 30px calc(50% - 65px) 60px;
  line-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
}

.loginRegister .tab-content .loginButton i {
  margin-right: 10px;
}

.loginRegister .tab-content hr {
  height: 5px;
  width: 80%;
  margin: 30px 10%;
  color: #B0BAC3;
}

.loginRegister .tab-content hr.cleanRule:after {
  content: none;
}

.loginRegister .tab-content hr:after {
  content: 'alebo';
  padding: 0 16px;
  position: relative;
  top: -14px;
  font-size: 14px;
  background-color: #FFF;
}

.form-check {
  margin: 20px 0;
}

.form-check label input {
  transform: scale(1.2);
  vertical-align: text-top;
  margin-right: 10px;
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.socialRegister h5 {
  margin-bottom: 20px;
}

.socialRegister button:first-of-type {
  margin-right: 40px;
}

.socialRegister button {
  display: inline-block;
  margin: 10px 0;
  width: 130px;
}

.googleLogin {
  background-color: #DB4437;
  width: 200px;
  margin: 10px calc(50% - 100px);
}

.googleLogin i {
  margin-right: 5px;
}

.googleLogin.mobile {
  display: none;
}

.googleLogin:focus {
  background-color: #ab342b;
}

.fbLogin {
  background-color: #3b5998;
  width: 200px;
  margin: 10px calc(50% - 100px);
}

.fbLogin i {
  margin-right: 5px;
}

@media (max-width: 1350px) {
  .loginRegister {
    width: 72%;
    margin: 20px 14%;
  }
}

@media (max-width: 675px) {
  .loginRegister {
    width: 60%;
    margin: 20px 20%;
  }
}

@media (max-width: 576px) {
  .loginRegister {
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
  .loginRegister .nav-tabs .nav-item .nav-link {
    background-color: #FAF9FE;
    border-radius: 0;
    font-size: 16px;
  }
  .loginRegister .nav-tabs .nav-item .nav-link:nth-child(1) {
    border-right: inset;
    border-color: #b3b3b324;
    border-width: thin;
  }
  .loginRegister .nav-tabs .nav-item .active {
    border-bottom: none;
  }
  .loginRegister .tab-content .tab-pane .dob {
    display: none;
  }
  .loginRegister .tab-content .tab-pane .form-group i {
    position: absolute;
    bottom: 21px;
    right: 40px;
    font-size: 15px;
  }
  .loginRegister .tab-content .tab-pane .form-group img {
    position: absolute;
    bottom: 15px;
    right: 34px;
    font-size: 15px;
    width: 28px;
  }
  .loginRegister .tab-content .socialRegister button:first-of-type {
    margin: 10px calc(50% - 100px);
  }
  .loginRegister .tab-content .socialRegister button {
    display: block;
    margin: 0;
    width: 200px;
    margin: 10px calc(50% - 100px);
  }
  .registerTypeSelection {
    width: 115px !important;
  }
}

.registerTypeSelection {
  width: 122px;
  max-width: 45%;
}

.registerTypeSelection:first-child {
  margin-left: 30px;
}

.registerTypeSelection:last-child {
  margin-right: 30px;
}

.registerTypeSelection input[type=radio] {
  display: none;
}

.registerTypeSelection input[type=radio]:checked + label {
  background-color: #1570A6;
  color: #fff;
}

.registerTypeSelection input[type=radio]:checked + label > svg {
  fill: #fff;
}

.registerTypeSelection label {
  padding: 10px;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 7px;
  cursor: pointer;
}

@media (min-width: 576px) {
  .registerTypeSelection label {
    padding: 20px;
  }
}

.registerTypeSelection label > svg {
  width: 56px;
  fill: #1570A6;
}

.businessProfileTypeSelection {
  width: 80%;
  margin: 30px auto 0 auto;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .businessProfileTypeSelection {
    flex-wrap: nowrap;
  }
}

.businessProfileType {
  width: 100%;
  padding: 10px 20px;
  box-shadow: 0px 0 8px #8888882E;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .businessProfileType {
    width: 48%;
  }
}

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

.businessProfileType h2 {
  font-weight: bolder;
  text-align: left;
  margin-bottom: 30px;
  width: 100%;
}

.businessProfileType input[type=radio] {
  display: none;
}

.businessProfileType input[type=radio]:checked + label {
  background-color: #1570A6;
  color: #fff;
}

.businessProfileType label {
  width: 100px;
  height: 40px;
  font-size: 14px;
  line-height: 40px;
  border-radius: 26px;
  box-shadow: 0px 0px 6px 1px #8888882E;
  user-select: none;
  cursor: pointer;
}

.businessProfileType p {
  font-size: 10px;
  margin-bottom: 0;
}

.businessProfileType ul {
  width: 100%;
  padding-left: 0;
  list-style-type: none;
  text-align: left;
  font-size: 14px;
  margin-bottom: 30px;
}

.businessProfileType ul i {
  font-size: 14px;
}

.businessProfileType ul li {
  margin-bottom: 5px;
}

.businessProfileType .profileTypeFooter {
  width: 100%;
  margin-top: auto;
}

.businessProfileType .profileTypeFooter .optionPrice {
  font-size: 30px;
  font-weight: 700;
  color: #1570A6;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.businessProfileType .profileTypeFooter .optionPrice span {
  font-size: 30px;
}

.businessProfileType .profileTypeHeader {
  width: 100%;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .businessProfileType .profileTypeHeader {
    flex-basis: 62px;
    margin-bottom: 0;
  }
}

.businessProfileType .promoText {
  font-size: 14px;
  text-align: left;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: -20px;
  margin-right: -20px;
}

.businessProfileType .promoText i {
  font-size: 14px;
}

.companyRegistrationCompare {
  width: 80%;
  margin: 10px auto 10px auto;
}

@media (min-width: 768px) {
  .companyRegistrationCompare {
    margin: 20px auto 10px auto;
  }
}

.companyRegistrationSpecs {
  text-align: left;
  width: 80%;
  margin: auto;
}

.companyRegistrationSpecs h3 {
  font-weight: bold;
}

.companyRegistrationSpecs ul {
  padding-left: 15px;
  font-size: 12px;
}

.companyRegistrationSpecs > hr.cleanRule {
  width: 100%;
  margin: 30px 0;
}

.companyRegistrationSpecs .companyRegistrationCompare {
  text-align: center;
}

#googleMap {
  width: 100%;
  height: 100px;
  order: 2;
  margin-bottom: 20px;
}

#googleMap > div {
  border-radius: 10px;
}

.googleMapLocations {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 20px;
  order: 3;
}

.googleMapLocations a {
  flex: 1;
  color: #B0BAC3;
  display: inline-block;
}

.googleMapLocations a img {
  width: 25px;
  display: inline-block;
  margin-left: -5px;
  margin-right: -5px;
}

.googleMapLocations .activeLocation {
  color: #1570A6;
}

.googleLocation:hover {
  text-decoration: none;
}

html, body {
  height: 100%;
}

a {
  color: #1570A6;
}

a :hover {
  text-decoration: underline;
}

.iconRight, .iconLeft {
  pointer-events: none;
}

.strongBlue {
  font-weight: 700;
  color: #1570A6;
}

.strongBlk {
  color: black;
  font-weight: 700;
}

.softText {
  color: #B0BAC3;
}

.blkLink {
  color: black;
  margin-left: 3px;
  text-decoration: underline;
}

.blkLink:active {
  color: #115B87;
}

.breadcrumb {
  padding: 20px 4%;
  background-color: #FFF;
}

.breadcrumb li {
  margin-right: 40px;
}

.breadcrumb li a {
  font-size: 18px;
  font-weight: 700;
}

.form-group {
  position: relative;
}

.form-group i {
  position: absolute;
  right: 40px;
  font-size: 15px;
  color: #B0BAC3;
  z-index: 1;
}

.form-group img {
  position: absolute;
  right: 34px;
  font-size: 15px;
  width: 28px;
  z-index: 1;
}

div[id="locationPopover"] .form-group img {
  top: 21px;
  right: 10px;
}

hr.aleboHr {
  height: 5px;
  width: 100%;
  margin: 40px 0;
  color: #B0BAC3;
}

hr.aleboHr:after {
  content: 'alebo';
  padding: 0 16px;
  position: relative;
  top: -14px;
  font-size: 14px;
  background-color: #FFF;
}

.disabledBc {
  color: #B0BAC3;
  cursor: default;
  pointer-events: none;
}

#discountToggle {
  display: inline-flex;
  align-items: center;
  margin: 20px 0;
}

#discountToggle label {
  margin: 0;
}

#discountToggle label.switch {
  display: inline-flex;
  margin-left: 20px;
}

.boxText {
  position: absolute;
  width: 15px;
  height: 39px;
  bottom: 11px;
  left: calc((100% - 15px) / 2);
  background-color: #FFF;
  line-height: 38px;
  z-index: 3;
}

.mainView {
  height: 82vh;
}

.mainView .filterPanel {
  padding-top: 0;
}

.mainView .filterPanel h1 {
  line-height: 80px;
  margin: 0;
}

.optGroup {
  font-weight: bold;
}

@media (max-width: 576px) {
  .fancyDropdown label {
    margin-bottom: 0.25rem;
  }
}

@media (max-width: 768px) {
  .fancyDropdown label {
    left: auto;
  }
}

.fancyDropdown-wrapper {
  position: relative;
  width: 100%;
}

.fancyInput:hover {
  cursor: pointer;
}

.fancyDropdownList,
.locationList {
  background: #FFF;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 4;
  text-align: left;
  border-radius: 0 0 28px 28px;
  box-shadow: 0px 6px 6px 1px #8888882E;
  display: none;
}

.fancyDropdownListOpen,
.locationListOpen {
  display: block;
}

.searchResults .fancyDropdownList, .searchResults
.locationList {
  margin-top: -10px;
}

.fancyDropdownList--searchMobile,
.locationList--searchMobile {
  width: 84%;
}

.fancyDropdownList > li,
.locationList > li {
  padding: 10px 20px;
  color: #B3B3B3;
  font-size: 12px;
}

.fancyDropdownList > li > a,
.locationList > li > a {
  text-decoration: none;
  color: inherit;
}

.fancyDropdownList > li:hover,
.locationList > li:hover {
  color: #FFF;
  background-color: #115B87;
  cursor: pointer;
}

.fancyDropdownList > li:last-child,
.locationList > li:last-child {
  margin-bottom: 15px;
}

.locationInputOpen,
.fancyInputOpen {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

a, p, span, label {
  font-size: 12px;
}

@media (max-width: 576px) {
  a, p, span, label {
    font-size: 14px;
  }
  .heading {
    font-size: 18px;
  }
}

span.strong {
  font-weight: 700;
}

input::placeholder {
  color: #6c757d;
  opacity: 1;
}

option:disabled {
  color: #B0BAC3;
}

select option [disabled] {
  color: #B0BAC3;
}

select:invalid {
  color: #B0BAC3;
}

a.underline {
  color: black;
  text-decoration: underline;
}

button:disabled {
  background-color: #B3B3B3;
}

@media (max-width: 576px) {
  a, p, span, label {
    font-size: 14px;
  }
}

.hideMobile {
  display: none;
}

@media (max-width: 950px) {
  .searchResults .hideDesktop {
    display: none;
  }
  .searchResults .hideMobile {
    display: block;
  }
}

@media (max-width: 730px) {
  .recentlyAdded .hideMobile {
    display: none;
  }
}

@media (max-width: 576px) {
  .recentlyAdded .hideMobile {
    display: block;
  }
  .hideDesktop {
    display: none;
  }
  .hideMobile {
    display: block;
  }
}

input.form-control, select.form-control {
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.modal input.form-control, .modal select.form-control {
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
  padding: 0.75rem 1.5rem;
}

.form-group input, .form-group select, .form-group textarea {
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.form-group i.fa-eye {
  color: black;
}

.form-group i.fa-eye-slash {
  color: #B0BAC3;
}

.form-check.gdpr {
  margin: 30px 0 20px;
}

.form-check.gdpr label input {
  margin-top: 2px;
}

input:focus {
  border: none;
}

select {
  -webkit-appearance: none;
}

.form-control {
  font-size: 12px;
}

@media (max-width: 576px) {
  .form-control {
    font-size: 13px;
  }
}

.form-control.form-control--no-icon {
  padding: 0.75rem 1rem;
}

.boardView {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  height: calc(100% - 50px);
}

.boardView .results {
  flex-basis: 80%;
  background-color: #FFF;
  overflow-y: auto;
}

.boardView .results .filterBar {
  display: flex;
  flex-direction: row;
  min-height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #8888882E;
  align-items: center;
  padding: 0 9%;
}

.boardView .results .filterBar h1 {
  font-size: 18px;
  margin: 0;
  flex-basis: 200px;
}

.boardView .results .filterBar h1 span {
  font-size: 18px;
}

.boardView .results .filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: 50%;
}

.boardView .results .filterBar .rightFilterBar a {
  flex-basis: calc(30% - 5px);
  text-align: right;
  margin-right: 5px;
}

.boardView .results .filterBar .rightFilterBar .dropdown {
  flex-basis: 70%;
  margin-left: 15px;
}

@media (max-width: 576px) {
  .boardView .results .filterBar .rightFilterBar .dropdown {
    margin-left: 0;
  }
}

.boardView .results .filterBar .hideBar {
  display: none;
}

.boardView .results .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.boardView .results .sortBy h5 {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
  margin-right: 5%;
}

.boardView .results .sortBy .fancyDropdown-wrapper {
  width: auto;
}

.boardView .results .sortBy .fancyDropdown-wrapper > input {
  min-width: 130px;
  height: 40px;
  padding: 0.75rem 1.5rem;
}

.boardView .results .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  left: 35%;
  bottom: 5px;
}

@media (max-width: 576px) {
  .boardView .results .sortBy label {
    margin-bottom: 0.5rem;
  }
}

.boardView .results .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.boardView .results .sortBy label i {
  position: absolute;
  right: 24px;
  bottom: 1px;
}

@media (max-width: 576px) {
  .boardView .results .sortBy label i {
    right: 0;
  }
}

.boardView .results .wrapper {
  padding: 20px 8% 40px;
}

.boardView .results .wrapper .listing {
  margin: 0 10px;
  flex-basis: calc(33.33% - 20px);
}

.boardView .results hr {
  margin: 20px 8% 20px;
}

.boardView .results .recommendedListings .recentlyAdded .wrapper {
  padding: 0;
}

.boardView .results .recommendedListings .recentlyAdded .wrapper .listing {
  width: calc(100% - 10px) !important;
}

.boardView .editMobile {
  display: none;
}

@media (max-width: 1190px) {
  .boardView .editFilterBar {
    padding-left: unset;
  }
}

.boardView .recommendedListings .recentlyAdded {
  margin: 0 4% 40px;
}

.editFilterBar {
  display: flex;
  flex-basis: 75%;
  justify-content: flex-end;
  align-items: baseline;
  left: 0;
  z-index: 2;
}

.editFilterBar p {
  margin: 0;
  margin-right: auto;
}

.editFilterBar button {
  width: auto;
  margin: 0;
  background-color: transparent;
  color: black;
  border-radius: 0;
}

.editFilterBar .moveButton, .editFilterBar .deactivateButton, .editFilterBar .topSelected {
  width: auto;
  color: #1570A6;
}

.editFilterBar .moveButton img, .editFilterBar .deactivateButton img, .editFilterBar .topSelected img {
  width: 24px;
  margin-bottom: 3px;
  margin-right: 5px;
}

.editFilterBar .deleteButton {
  color: red;
}

.editFilterBar .deleteButton i {
  margin-right: 5px;
  color: red;
}

@media (max-width: 911px) {
  .editFilterBar .deleteButton i {
    display: none;
  }
  .editFilterBar .moveButton img {
    display: none;
  }
}

.listing:not(.deactivatedListing) .imgOverlay {
  display: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #0000008a;
  border-radius: 10px;
  z-index: 1;
}

.listing:not(.deactivatedListing) .imgOverlay input[type="checkbox"] {
  margin: 10px;
  width: 20px;
}

@media (max-width: 1190px) {
  .editFilterBar {
    padding-left: 15%;
  }
}

@media (max-width: 1125px) {
  .editFilterBar {
    padding-left: 0;
  }
  .boardView {
    padding-left: 4%;
  }
  .boardView .results .filterBar {
    padding: 0 5%;
  }
  .boardView .results .filterBar h1 {
    font-size: 14px;
    flex-basis: 25%;
  }
  .boardView .results .filterBar h1 span {
    font-size: 14px;
  }
  .boardView .results .filterBar .rightFilterBar {
    flex-basis: 65%;
  }
  .boardView .results .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 825px) {
  .boardView .results .advancedSearchMenu #advancedSearchLink h5 i {
    margin-left: 5px;
    font-size: 14px;
  }
  .boardView .results .filterBar .rightFilterBar {
    flex-basis: 100%;
    justify-content: center;
  }
  .boardView .results .filterBar .rightFilterBar a {
    text-align: right;
  }
  .boardView .results .wrapper .listing {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 768px) {
  .boardView {
    padding: 0;
  }
  .boardView .results {
    flex-basis: 100%;
  }
  .boardView .hideDesktop, .boardView .optionNew.hideMobile {
    display: none;
  }
}

@media (max-width: 576px) {
  .editFilterBar {
    position: fixed;
    bottom: 0;
    background-color: white;
    width: 100%;
    height: 65px;
    align-items: center;
  }
  .editFilterBar p {
    display: none;
  }
  .editFilterBar button {
    flex-basis: 50%;
    font-size: 18px;
  }
  .editFilterBar .moveButton, .editFilterBar .deactivateButton {
    border-right: 2px solid #B0BAC3;
  }
  .boardView .results .filterBar {
    padding: 10px 4%;
    flex-wrap: wrap;
  }
  .boardView .results .filterBar h1, .boardView .results .filterBar a {
    flex-basis: 50%;
  }
  .boardView .results .filterBar a {
    text-align: right;
  }
  .boardView .results .filterBar .dropdown {
    justify-content: center;
    flex-basis: 100%;
    margin: 15px 0 5px;
  }
  .boardView .results .filterBar .dropdown h5 {
    display: none;
  }
  .boardView .results .filterBar .dropdown label {
    width: 84%;
    left: unset;
  }
  .boardView .results .wrapper .listing {
    width: calc(50% - 20px);
  }
  .boardView .results .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail {
    position: absolute;
    top: 0;
    width: 100%;
    padding-top: 68%;
    margin-left: auto;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .listingPrice {
    left: unset;
    right: 0;
    top: unset;
    bottom: 33px;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .listingLocation {
    margin-left: 0;
  }
  .boardView .results .wrapper .listing .itemDetailLink .listingDetail .noLoc {
    position: absolute;
    left: 4px;
    bottom: -18px;
  }
  .boardView .results .wrapper .imageWrapper {
    width: 100%;
  }
  .boardView .editDesktop {
    display: none;
  }
  .boardView .editMobile {
    display: block;
  }
  .boardView .editMobile.backButton {
    display: none;
    margin: 0;
    background: transparent;
    color: #1570A6;
    order: 3;
  }
}

.modal .modal-dialog .modal-content {
  border-radius: 20px;
}

.modal .modal-dialog .modal-content button.closeModal {
  margin: 10px 20px;
  position: absolute;
  right: 0;
  background-color: transparent;
  color: black;
  width: auto;
}

.modal .modal-dialog .modal-content button.closeModal i {
  font-size: 20px;
  font-weight: 300;
}

.modal .modal-dialog .modal-content .modal-header {
  flex-direction: column;
  align-items: center;
  border: none;
}

.modal .modal-dialog .modal-content .modal-header .modal-title:not(.mtsc) {
  font-size: 24px;
  margin: 20px 0;
}

.modal .modal-dialog .modal-content .modal-body {
  display: flex;
  flex-wrap: wrap;
  padding-left: 8%;
  padding-right: 0;
}

.modal .modal-dialog .modal-content .modal-body > div {
  flex-basis: 33.33%;
}

.modal .modal-dialog .modal-content .modal-footer {
  justify-content: center;
  border: none;
  padding: 20px 0.75rem 40px;
}

.modal .modal-dialog .modal-content .modal-footer button {
  margin: 0;
}

.mtsc {
  font-size: 24px;
  margin: 20px 0;
}

#newBoard .modal-dialog .modal-content .modal-body {
  padding: 1rem;
}

#moveItems .modal-dialog .modal-content .modal-body > div label, #addBoardItem .modal-dialog .modal-content .modal-body > div label {
  margin-left: 5px;
}

#deleteBoard .modal-dialog .modal-content .modal-body, #deleteFilter .modal-dialog .modal-content .modal-body, #deleteAd .modal-dialog .modal-content .modal-body, #deleteSavedFilter .modal-dialog .modal-content .modal-body, #renameBoard .modal-dialog .modal-content .modal-body, #removeItems .modal-dialog .modal-content .modal-body, #deactivateItems .modal-dialog .modal-content .modal-body, #deleteItems .modal-dialog .modal-content .modal-body {
  flex-wrap: nowrap;
  padding: 0 8%;
}

#deleteBoard .modal-dialog .modal-content .modal-body p, #deleteFilter .modal-dialog .modal-content .modal-body p, #deleteAd .modal-dialog .modal-content .modal-body p, #deleteSavedFilter .modal-dialog .modal-content .modal-body p, #renameBoard .modal-dialog .modal-content .modal-body p, #removeItems .modal-dialog .modal-content .modal-body p, #deactivateItems .modal-dialog .modal-content .modal-body p, #deleteItems .modal-dialog .modal-content .modal-body p {
  text-align: center;
  width: 100%;
}

#deleteBoard .modal-dialog .modal-content .modal-footer, #deleteFilter .modal-dialog .modal-content .modal-footer, #deleteAd .modal-dialog .modal-content .modal-footer, #deleteSavedFilter .modal-dialog .modal-content .modal-footer, #renameBoard .modal-dialog .modal-content .modal-footer, #removeItems .modal-dialog .modal-content .modal-footer, #deactivateItems .modal-dialog .modal-content .modal-footer, #deleteItems .modal-dialog .modal-content .modal-footer {
  flex-direction: column;
}

#deleteBoard .modal-dialog .modal-content .modal-footer button, #deleteFilter .modal-dialog .modal-content .modal-footer button, #deleteAd .modal-dialog .modal-content .modal-footer button, #deleteSavedFilter .modal-dialog .modal-content .modal-footer button, #renameBoard .modal-dialog .modal-content .modal-footer button, #removeItems .modal-dialog .modal-content .modal-footer button, #deactivateItems .modal-dialog .modal-content .modal-footer button, #deleteItems .modal-dialog .modal-content .modal-footer button {
  margin-bottom: 20px;
}

#imageFullViewContainer {
  width: 100vw;
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
}

#imageFullView {
  width: auto;
  left: unset;
  padding-left: 15px;
}

#imageFullView .modal-dialog {
  max-width: 100vw;
}

#imageFullView .modal-dialog .modal-image {
  padding: 1rem;
}

#imageFullView .modal-dialog .modal-image img {
  max-width: 100%;
  max-height: calc(100vh - 6rem);
}

#imageFullView .modal-dialog .closeModal {
  margin: 2px;
  background-color: #FFF;
  width: 35px;
  height: 35px;
  z-index: 1;
}

#imageFullView .modal-content {
  width: 92vw;
}

#imageFullView .modal-content .galleryCarousel {
  order: 1;
  display: flex;
  justify-content: center;
}

#imageFullView .modal-content .galleryCarousel .slick-list {
  height: 100%;
  width: 100%;
  display: flex;
}

#imageFullView .modal-content .galleryCarousel .slick-list .slick-track {
  display: flex;
  align-items: center;
}

#imageFullView .modal-content .galleryCarousel .slick-list .slick-track .slick-slide {
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

#imageFullView .modal-content .galleryCarousel .slick-arrow {
  top: calc(50% - 20px);
  background-color: transparent;
}

#imageFullView .modal-content .galleryCarousel .slick-next {
  right: 25px;
}

#imageFullView .modal-content .galleryCarousel .slick-prev {
  color: #FFF;
  z-index: 1;
  margin-left: 25px;
}

@media (max-width: 576px) {
  #moveItems .modal-dialog .modal-content, #addBoardItem .modal-dialog .modal-content {
    max-height: 90vh;
  }
  #moveItems .modal-dialog .modal-content .modal-body, #addBoardItem .modal-dialog .modal-content .modal-body {
    flex-direction: column;
    overflow-y: auto;
    flex-wrap: nowrap;
  }
  #moveItems .modal-dialog .modal-content .modal-body > div, #addBoardItem .modal-dialog .modal-content .modal-body > div {
    flex-basis: 100%;
  }
  #moveItems .modal-dialog .modal-content .modal-body > div input, #addBoardItem .modal-dialog .modal-content .modal-body > div input {
    transform: scale(1.5);
  }
  #moveItems .modal-dialog .modal-content .modal-body > div label, #addBoardItem .modal-dialog .modal-content .modal-body > div label {
    font-size: 16px;
    margin-left: 10px;
  }
  #moveItems .modal-dialog .modal-content .modal-footer, #addBoardItem .modal-dialog .modal-content .modal-footer {
    flex-direction: column;
  }
  #moveItems .modal-dialog .modal-content .modal-footer button, #addBoardItem .modal-dialog .modal-content .modal-footer button {
    margin-top: 20px;
  }
  #moveItems .modal-dialog .modal-content .modal-footer .optionNew.hideMobile, #addBoardItem .modal-dialog .modal-content .modal-footer .optionNew.hideMobile {
    display: block;
  }
}

.modal.saveCategoryModal .modal-body {
  flex-direction: column;
  width: calc(100% - 16%);
  padding: 20px 8%;
}

.modal.saveCategoryModal .modal-body .categoryDd {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.modal.saveCategoryModal .modal-body .categoryDd h5 {
  margin-right: 20px;
}

.modal.saveCategoryModal .modal-body .categoryDd label {
  position: absolute;
  right: 0;
  width: 230px;
  height: 100%;
  margin-right: 8%;
}

.modal.saveCategoryModal .modal-body .categoryDd label i {
  right: 30px;
  top: 13px;
  z-index: 1052;
}

.modal.saveCategoryModal .modal-body .categoryDd select {
  width: 230px;
  z-index: 1051;
}

.modal.saveCategoryModal .subCategories {
  display: block;
}

.modal.saveCategoryModal .subCategories .subCategory {
  height: 44px;
}

.modal.saveCategoryModal .modal-footer {
  flex-direction: column;
}

.modal.saveCategoryModal .modal-footer a {
  margin-bottom: 20px;
}

@media (max-width: 576px) {
  .modal.saveCategoryModal h5 {
    display: none;
  }
  .modal.saveCategoryModal h4.mtsc {
    font-size: 20px;
    margin: 35px 0 0 0;
  }
  .modal.saveCategoryModal .modal-body {
    padding-bottom: 0;
  }
  .modal.saveCategoryModal .modal-footer {
    padding-bottom: 20px;
  }
}

.boardOption {
  display: flex;
  align-items: center;
}

.boardOption label {
  margin-top: 5px;
}

.savedSearchTitle {
  width: 70%;
  margin: auto;
}

.footerButtons {
  display: flex;
  align-items: baseline;
  width: 100%;
}

.footerButtons > div {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

@media (max-width: 576px) {
  .footerButtons {
    display: block;
    margin-top: 20px;
  }
}

.filterPanel, .profileMenu {
  position: relative;
  flex-basis: 20%;
  background-color: #FAFAFF;
  padding: 20px 0;
  text-align: center;
  box-shadow: 0 0 6px #8888882E;
  min-width: 270px;
  max-width: 270px;
  overflow: hidden;
  overflow-y: auto;
}

.filterPanel h1, .profileMenu h1 {
  font-weight: 700;
}

.filterPanel span p, .profileMenu span p {
  color: #1570A6;
  font-size: 12px;
}

.filterPanel .form-inline, .profileMenu .form-inline {
  display: flex;
  position: relative;
  flex-flow: column wrap;
  width: 100%;
  padding: 4%;
}

.filterPanel .form-inline .form-group, .profileMenu .form-inline .form-group {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 10px 0;
}

.filterPanel .form-inline .form-group label, .profileMenu .form-inline .form-group label {
  position: relative;
}

.filterPanel .form-inline .form-group label img, .profileMenu .form-inline .form-group label img {
  height: 25px;
  position: absolute;
  left: 28px;
  z-index: 3;
  bottom: unset;
}

.filterPanel .form-inline .form-group label i, .profileMenu .form-inline .form-group label i {
  height: 25px;
  position: absolute;
  left: 36px;
  top: -6px;
  z-index: 3;
  bottom: unset;
}

.filterPanel .form-inline .form-group label i.iconRight, .profileMenu .form-inline .form-group label i.iconRight {
  left: 199px;
  font-size: 15px;
}

.filterPanel .form-inline .form-group label .iconRight, .profileMenu .form-inline .form-group label .iconRight {
  left: 192px;
}

.filterPanel .form-inline .form-group .form-control, .profileMenu .form-inline .form-group .form-control {
  display: inline-block;
  width: 80%;
  margin-left: 10%;
  border: none;
  box-shadow: 0px 0px 6px 1px #8888882E;
}

.filterPanel .form-inline .form-group.cost .costInputWrapper, .profileMenu .form-inline .form-group.cost .costInputWrapper {
  position: relative;
  width: 80%;
  margin: 0 10%;
  display: flex;
  z-index: 2;
  border-radius: 28px;
}

.filterPanel .form-inline .form-group.cost .costInputWrapper:focus-within, .profileMenu .form-inline .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.filterPanel .form-inline .form-group.cost .costInputLeft, .profileMenu .form-inline .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.filterPanel .form-inline .form-group.cost .costInputRight, .profileMenu .form-inline .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.filterPanel .form-inline .form-group.cost .costInputLeft:focus, .profileMenu .form-inline .form-group.cost .costInputLeft:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-right: none;
}

.filterPanel .form-inline .form-group.cost .costInputRight:focus, .profileMenu .form-inline .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border: 1px solid #ced4da;
  border-left: none;
}

.filterPanel.hideMobile .sortBy {
  width: 100%;
}

.filterPanel.hideMobile .sortBy label {
  width: 68%;
  padding: 0 8%;
  bottom: 5px;
}

.filterPanel.hideMobile .sortBy label img {
  height: 25px;
  position: absolute;
  bottom: 8px;
  left: 28px;
}

.filterPanel.hideMobile .sortBy select {
  width: 80%;
}

.filterPanel.hideMobile .distanceInput {
  justify-content: center;
  padding: 20px 0;
}

.filterPanel.hideMobile .distanceInput input {
  text-align: inherit;
  max-width: 24px;
}

.profileMenu {
  padding: 0 0 20px;
}

.profileMenu h1 {
  padding: 20px 0;
  margin: 0;
}

.companyProfile .filterPanel {
  padding-top: 0;
}

.companyProfile .filterPanel hr {
  margin-left: 8%;
}

.companyProfile .filterPanel .form-inline {
  padding: 8%;
}

.companyProfile .filterPanel .form-inline .form-group label i.iconLeft {
  left: 15px;
}

.companyProfile .filterPanel .form-inline .form-group label i.iconRight {
  left: 200px;
}

.companyProfile .filterPanel .form-inline .form-group label img.iconLeft {
  left: 8px;
}

.companyProfile .filterPanel .form-inline .form-group .form-control {
  width: 100%;
  margin-left: 0;
}

.companyProfile .filterPanel .form-inline .form-group.cost .costInputWrapper {
  width: 100%;
  margin: 0;
}

.profileView {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
}

.profileView .content {
  flex-basis: auto;
  flex-grow: 1;
  background-color: #FFF;
  height: 100%;
}

.profileView .content hr {
  width: 100%;
  margin: 20px 0;
}

.profileView .content .filterBar a {
  flex-basis: initial;
}

.profileView .content .filterBar .editFilterPanelToggle {
  padding-left: 10px;
  padding-right: 15px;
  padding-top: 1px;
  margin-left: auto;
}

.profileView .content .filterBar .pagination {
  flex-basis: auto;
}

.profileView .content .pagination {
  display: flex;
  list-style: none;
  border-radius: 28px;
  flex-basis: 100%;
  justify-content: flex-end;
  padding-left: 4%;
  align-items: baseline;
}

.profileView .content .pagination h5 {
  font-weight: 700;
  margin-right: 5px;
}

.profileView .content .pagination a {
  color: black;
  padding: 4px 8px;
  text-decoration: none;
  margin: 0 2px !important;
  border-radius: 5px;
  flex-basis: initial !important;
}

.profileView .content .pagination a.active {
  background-color: #1570A6;
  color: #FFF;
}

.profileView .content .pagination:not(.desktopOnly) {
  justify-content: center;
}

.profileView .content .sortBy h5 {
  font-weight: 700;
  margin-right: 5%;
  margin-left: 10%;
}

@media (max-width: 576px) {
  .profileView .content .sortBy > label {
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 576px) {
  .profileView .content .sortBy > label > i.fas {
    right: 46px;
  }
}

.profileView .content .sortBy .fancyDropdown-wrapper {
  width: auto;
}

.profileView .content .sortBy .fancyDropdown-wrapper > input {
  width: 130px;
  padding: 10px 22px;
  height: 40px;
}

.profileView .editMobile {
  display: none;
}

.profileView .listing .listingDetail {
  display: flex;
  flex-wrap: wrap;
}

.profileView .listing .listingDetail .listingInfo {
  flex-basis: 100%;
  font-weight: 700;
  margin-bottom: 5px;
}

.profileView .listing .listingDetail .listingEdit {
  flex-basis: 50px;
}

.profileView .listing .listingDetail .listingViews {
  flex-basis: calc(100% - 50px);
  text-align: right;
}

.profileView .listing button:not(.status) {
  margin-top: 5px;
  width: 150px;
  margin-left: calc(50% - 75px);
}

@media (max-width: 1125px) {
  .profileView {
    padding-left: 4%;
  }
  .profileView .content .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 1040px) {
  .favouriteCategories {
    margin: 0 6%;
  }
  .favouriteCategories .categories {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
  }
  .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
    margin-left: 10px;
  }
  .profileView .content .sortBy h5 {
    display: none;
  }
}

@media (max-width: 860px) {
  .profileView {
    padding-left: 0;
  }
  .profileView .pagination.desktopOnly {
    display: none !important;
  }
  .profileView .rightFilterBar {
    justify-content: flex-end !important;
  }
  .favouriteCategories {
    margin: 0 4%;
  }
  .favouriteCategories .categories {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
}

@media (max-width: 765px) {
  .profileView .adSettings .filterBar {
    flex-wrap: initial;
  }
}

@media (max-width: 760px) {
  .favouriteCategories {
    height: 84%;
  }
  .favouriteCategories .categories {
    display: block;
    height: 88%;
    overflow-y: auto;
  }
}

@media (max-width: 725px) {
  .googleLogin.mobile, .fbLogin.mobile {
    display: flex;
  }
  .googleLogin, .fbLogin {
    display: none;
  }
}

@media (max-width: 715px) {
  .boardView,
  .profileView {
    padding: 0;
  }
  .boardView .content,
  .profileView .content {
    flex-basis: 100%;
  }
  .boardView .hideMobile,
  .profileView .hideMobile {
    display: block;
  }
  .boardView .hideDesktop,
  .profileView .hideDesktop {
    display: none;
  }
}

@media (max-width: 576px) {
  .profileView .content {
    height: 89vh;
    overflow: auto;
    flex-basis: 100%;
  }
  .profileView .content .filterBar {
    flex-wrap: wrap;
  }
  .profileView .content .wrapper .listing {
    width: calc(50% - 20px);
  }
  .profileView .content .wrapper .listing .listingImage {
    display: block;
    width: 100%;
  }
  .profileView .content .wrapper .listing .listingDetail {
    position: relative;
    display: block;
    width: 100%;
    min-height: 70px;
    padding-left: 0;
    margin-left: 0;
  }
  .profileView .content .wrapper .listing .listingDetail .listingPrice {
    left: unset;
    right: 0;
    bottom: 10px;
  }
  .profileView .content .wrapper .listing .listingViews {
    display: inline-block;
    float: right;
  }
  .profileView .content .wrapper .listing button:not(.status) {
    width: 100%;
    margin-left: 0;
  }
  .profileView .content .wrapper .imageWrapper {
    width: 100%;
  }
  .profileView .editDesktop {
    display: none;
  }
  .profileView .editMobile {
    display: block;
  }
  .profileView i.editMobile {
    display: inline-block;
  }
  .editing {
    display: flex;
    order: 3;
    flex: 1;
    flex-basis: 100%;
  }
  .editing div {
    display: flex;
    flex-basis: 100%;
  }
  .editing .numberSelected {
    width: 100%;
  }
  .editing .chb {
    margin-right: 35px;
  }
  .selectProMobile {
    margin: 22px 0px 0 34px;
    flex-basis: 40% !important;
    display: none;
  }
  .topSelected, .activateSelected, .deactivateSelected {
    width: 100% !important;
    margin-top: 10px !important;
  }
}

.hideBarPro {
  display: none;
}

.editing {
  display: flex;
  margin-top: 20px;
}

.profileMenu h1 {
  color: #1570A6;
}

.profileMenuLink, .menuLink {
  display: flex;
  align-items: center;
  height: 50px;
}

.profileMenuLink label, .menuLink label {
  margin-left: 20px;
}

.profileMenuLink label i, .menuLink label i {
  margin-top: 12px;
  margin-right: 10px;
  color: #1570A6;
}

.profileMenuLink a, .menuLink a {
  color: black;
}

.profileMenuLink.toggleMode {
  justify-content: space-between;
}

.profileMenuLink.toggleMode label.dropdownSwitch {
  margin-bottom: 0;
  margin-right: 20px;
}

.profileMenuLink.active, .menuLink.active {
  background-color: #1570A6;
}

.profileMenuLink.active label i, .menuLink.active label i {
  color: white;
}

.profileMenuLink.active a, .menuLink.active a {
  color: white;
}

.profileMenuLink:focus, .menuLink:focus {
  background-color: #115B87;
}

.profileMenuLink:focus label i, .menuLink:focus label i {
  color: white;
}

.profileMenuLink:focus a, .menuLink:focus a {
  color: white;
}

.mainImageUploadIcon {
  width: 20px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.logoImageUploadIcon {
  width: 20px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}

.imgOverlay {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  background-color: black;
  opacity: 40%;
}

.logoWrapper {
  position: absolute;
  left: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border-radius: 30px;
  bottom: -30px;
  box-shadow: 0px 0px 8px black;
}

.logoWrapper .profileAvatar {
  position: initial !important;
}

.logoWrapper .imgOverlay {
  border-radius: 30px;
}

@media (max-width: 576px) {
  .profileMenu {
    display: none;
  }
}

.adSettings .filterBar {
  display: flex;
  flex-direction: row;
  min-height: 70px;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #8888882E;
  align-items: center;
  padding: 0 9% 0 9%;
  justify-content: space-between;
}

.adSettings .filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.adSettings .filterBar .rightFilterBar {
  width: auto;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: auto;
  min-width: 305px;
}

.adSettings .filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 100px);
}

@media (min-width: 768px) {
  .adSettings .filterBar .rightFilterBar .dropdown {
    margin-right: 15px;
  }
}

.adSettings .filterBar a {
  flex-basis: 60px;
  text-align: right;
  margin-left: 20px;
}

.adSettings .filterBar .hideBar {
  display: none;
}

.adSettings .sortBy {
  flex-basis: 33.3%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 10px;
  margin-bottom: 0;
}

.adSettings .sortBy h5 {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 20px;
}

.adSettings .sortBy select {
  display: inline-block;
  width: 200px;
  height: 40px;
  padding: 10px 22px;
}

.adSettings .sortBy label {
  position: absolute;
  width: 68%;
  padding: 0 8%;
  left: 35%;
  bottom: 5px;
}

.adSettings .sortBy label i {
  position: absolute;
  right: 25px;
  bottom: 0px;
}

@media (min-width: 992px) {
  .adSettings .sortBy label i {
    right: 35px;
  }
}

.adSettings .activeListings {
  height: 80%;
  overflow-y: auto;
}

.adSettings .activeListings .wrapper {
  padding: 20px 8% 40px;
}

.adSettings .activeListings .wrapper .listing {
  position: relative;
  margin: 0 10px 30px;
  flex-basis: calc(33.33% - 20px);
}

.adSettings .activeListings .wrapper .listing .imgOverlay a i.editMobile {
  position: absolute;
  bottom: 5px;
  right: 10px;
  color: white;
  font-size: 12px;
}

.adSettings .activeListings .wrapper .listing .editOptions {
  display: none;
  position: absolute;
  bottom: 2px;
  width: 100%;
  padding: 0 10px;
  color: white;
  align-items: baseline;
}

.adSettings .activeListings .wrapper .listing .activeSwitch {
  display: flex;
  flex-basis: 50%;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.adSettings .activeListings .wrapper .listing .activeSwitch .switch {
  margin-left: 5px;
}

.adSettings .activeListings .wrapper .listing .deleteAd {
  flex-basis: 50%;
  text-align: right;
}

.adSettings .activeListings .wrapper .listing .deleteAd i {
  margin-right: 5px;
}

.adSettings .activeListings .wrapper .addListing {
  height: 150px;
  width: 150px;
}

.adSettings .activeListings .wrapper .deactivatedListing .imgOverlay {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #c4c4c48a;
  border-radius: 10px;
}

.adSettings .activeListings .wrapper .deactivatedListing .imgOverlay input[type="checkbox"] {
  display: none;
  margin: 10px;
  width: 20px;
}

.adSettings .activeListings .wrapper .deactivatedListing .listing {
  margin-bottom: 30px;
}

@media (max-width: 1125px) {
  .adSettings .activeListings .wrapper {
    padding: 20px 4% 0;
  }
}

@media (max-width: 860px) {
  .adSettings .sortBy h5 {
    display: none;
  }
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 765px) {
  .adSettings .filterBar {
    flex-wrap: wrap;
    padding: 0 4%;
  }
  .adSettings .filterBar .rightFilterBar {
    flex-basis: 100%;
    align-items: center;
    justify-content: end;
    margin: 20px 0;
  }
  .adSettings .filterBar .rightFilterBar .sortBy {
    flex-basis: 50%;
  }
  .adSettings .filterBar .rightFilterBar a {
    flex-basis: 60px;
    text-align: center;
    margin: 0 20px;
  }
}

@media (max-width: 640px) {
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(100% - 20px);
  }
}

@media (max-width: 576px) {
  .adSettings .filterBar {
    padding: 10px 4%;
    flex-wrap: wrap;
    box-shadow: none;
    margin-bottom: 0;
  }
  .adSettings .filterBar h1 {
    order: 1;
  }
  .adSettings .filterBar .editMobile.backButton {
    display: none;
    margin: 0;
    background: transparent;
    color: #1570A6;
    order: 3;
  }
  .adSettings .filterBar h1, .adSettings .filterBar a {
    flex-basis: 50%;
  }
  .adSettings .filterBar a {
    order: 2;
    text-align: right;
    margin-left: 0;
  }
  .adSettings .filterBar .dropdown {
    justify-content: center;
    flex-basis: 100%;
  }
  .adSettings .filterBar .dropdown h5 {
    display: none;
  }
  .adSettings .filterBar .dropdown label {
    width: 200px;
    left: unset;
  }
  .adSettings .filterBar .dropdown label i {
    right: 38px;
  }
  .adSettings .filterBar .rightFilterBar {
    flex-basis: 100%;
    margin-top: 10px;
    margin-bottom: 0;
    order: 3;
  }
  .adSettings .filterBar .rightFilterBar .dropdown {
    flex-basis: 100%;
  }
  .adSettings .filterBar .rightFilterBar a {
    margin: -2px 10px;
  }
  .adSettings .filterBar .editFilterBar {
    border-top: 2px solid #B0BAC3;
  }
  .adSettings .activeListings .wrapper .listing {
    flex-basis: calc(50% - 20px);
    min-height: 210px;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingInfo {
    order: 2;
    margin-bottom: 20px;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingEdit {
    order: 1;
    flex-basis: 40%;
  }
  .adSettings .activeListings .wrapper .listing .listingDetail .listingViews {
    order: 1;
    flex-basis: 60%;
    margin: 0 0 5px;
  }
  .adSettings .activeListings .wrapper .listing .editOptions {
    color: black;
    bottom: -15px;
    padding: 0;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch {
    flex-basis: 100%;
    justify-content: space-between;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch {
    width: 42px;
    height: 30px;
  }
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch .slider::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .switch .dropdownToggle::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch .slider::before,
  .adSettings .activeListings .wrapper .listing .editOptions .activeSwitch .dropdownSwitch .dropdownToggle::before {
    height: 28px;
    width: 28px;
  }
}

.boardSettings .filterBar {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #8888882E;
  align-items: center;
  padding: 20px 9% 20px 9%;
  justify-content: space-between;
}

.boardSettings .filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.boardSettings .filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: calc(100% - 200px);
}

.boardSettings .filterBar .rightFilterBar a {
  flex-basis: 60px;
  text-align: right;
}

.boardSettings .filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 60px);
  margin-right: 0;
}

.boardSettings .filterBar .hideBar {
  display: none;
}

.boardSettings .myBoards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 15px 8%;
  max-height: calc(100% - 90px);
  overflow-y: auto;
}

.boardSettings .myBoards .board {
  flex-basis: calc(33.33% - 30px);
  display: flex;
  flex-direction: column;
  margin: 0 15px 20px;
  padding: 10px 5px 0;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 10px;
}

.boardSettings .myBoards .board .imageWrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.boardSettings .myBoards .board .imageWrapper img, .boardSettings .myBoards .board .imageWrapper .emptyImage {
  flex-basis: calc(50% - 8px);
  width: calc(50% - 8px);
  margin: 0 4px 5px;
  border-radius: 5px;
  height: 100%;
}

.boardSettings .myBoards .board .imageWrapper .emptyImage {
  background-color: #B0BAC3;
  max-height: 72px;
}

.boardSettings .myBoards .board .boardInfo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
  margin-top: auto;
}

.boardSettings .myBoards .board .boardInfo h4 {
  margin-top: 5px;
  flex-basis: 100%;
}

.boardSettings .myBoards .board .boardInfo p {
  flex-basis: 50%;
}

.boardSettings .myBoards .board .boardInfo .publicSwitch {
  display: flex;
  flex-basis: 50%;
  justify-content: flex-end;
}

.boardSettings .myBoards .board .boardInfo .publicSwitch label:not(#publicSwitch) {
  margin-right: 5px;
}

.boardSettings .myBoards .board .boardEdit {
  display: none;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 5px;
}

.boardSettings .myBoards .board .boardEdit h4 {
  flex-basis: 100%;
  margin-top: 5px;
}

.boardSettings .myBoards .board .boardEdit .editButton {
  flex-basis: 50%;
  margin: 0;
  background-color: inherit;
  color: #1570A6;
  text-align: left;
  font-size: 13px;
  margin-bottom: 5px;
  padding-left: 0;
}

.boardSettings .myBoards .board .boardEdit .deleteButton {
  flex-basis: 50%;
  margin: 0;
  background-color: inherit;
  color: red;
  text-align: right;
}

.boardSettings .myBoards .addBoard {
  background: transparent;
  box-shadow: 0px 0px 6px 1px #8888882E;
  flex-basis: calc(33.33% - 30px);
  margin: 5px 15px 20px;
  height: 150px;
  border-radius: 10px;
  font-size: 16px;
}

.boardSettings .myBoards .addBoard:hover {
  background: #2586BF;
  color: white;
}

.boardSettings .myBoards .addBoard:focus {
  background: #115B87;
  color: white;
}

@media (max-width: 1140px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: calc(50% - 30px);
  }
}

@media (max-width: 825px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: calc(100% - 30px);
  }
}

@media (max-width: 576px) {
  .boardSettings .myBoards .board, .boardSettings .myBoards .addBoard {
    flex-basis: 100%;
  }
}

@media (max-width: 576px) {
  .boardSettings .filterBar {
    padding: 20px 4%;
  }
  .boardSettings .filterBar a {
    text-align: right;
    flex-basis: calc(100% - 200px);
  }
  .boardSettings .filterBar .rightFilterBar {
    display: none;
  }
}

.personalSettings .filterBar h1 {
  flex-basis: 100%;
}

.personalSettings .mySettings {
  height: 100%;
  overflow-y: auto;
  margin: 0 8%;
}

.personalSettings .mySettings form {
  width: 85%;
}

@media (max-width: 895px) {
  .personalSettings .mySettings form {
    width: 100%;
  }
}

.personalSettings .mySettings form p {
  margin: 30px 0;
}

.personalSettings .mySettings form .form-group {
  display: flex;
  align-items: baseline;
  padding: 2px;
}

.personalSettings .mySettings form .form-group label {
  flex-basis: 150px;
  margin-left: 10px;
}

@media (max-width: 895px) {
  .personalSettings .mySettings form .form-group label {
    flex-basis: 112px;
  }
}

.personalSettings .mySettings form .form-group input, .personalSettings .mySettings form .form-group textarea {
  padding-left: 25px;
}

.personalSettings .mySettings form .form-group img.editIcon {
  width: 20px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup {
  flex-wrap: nowrap;
  box-shadow: 0px 0px 6px 1px #8888882E;
  border-radius: 28px;
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup .input-group-text {
  padding: 0 12px;
  border: 0;
}

.personalSettings .mySettings form .form-group .phoneNumberInputGroup .phoneNumberInput {
  box-shadow: none;
}

@media (max-width: 576px) {
  .personalSettings .mySettings form .form-group .phoneNumberInputGroup .input-group-text {
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .personalSettings .mySettings form .form-group .phoneNumberInputGroup .phoneNumberInput {
    margin-left: 0;
  }
}

.personalSettings .mySettings form .form-group #linkedAccounts {
  flex-basis: calc(100% - 122px);
  display: flex;
  align-items: baseline;
  justify-content: space-evenly;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile {
  display: none;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
  display: none;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  margin: 0 calc(50% - 60px);
  height: 30px;
  position: relative;
}

.personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin i, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin i {
  position: relative;
  right: unset;
  color: #FFF;
}

@media (max-width: 725px) {
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
    display: flex;
    width: 75px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin, .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin {
    display: none;
  }
}

.personalSettings .mySettings form .form-group #linkedAccounts p {
  flex-basis: 50%;
  text-align: left;
}

.personalSettings .mySettings form .dob {
  display: flex;
  align-items: baseline;
}

.personalSettings .mySettings form .dob label {
  flex-basis: 200px;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs {
  flex-basis: calc(100% - 200px);
  display: flex;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group {
  flex-basis: calc(33.33% - 5px);
  margin-right: 5px;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group label {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

.personalSettings .mySettings form .dob #dateOfBirthInputs .form-group label i {
  right: 18px;
  bottom: 12px;
}

.personalSettings .mySettings form .dob #dateOfBirthInput {
  display: none;
}

.personalSettings .mySettings form .settingsSubmit {
  justify-content: center;
  align-items: baseline;
  height: 50px;
}

.personalSettings .mySettings form .settingsSubmit a {
  flex-basis: 40%;
  margin: 0 10% 0 0;
  text-align: right;
  color: black;
}

.personalSettings .mySettings form .settingsSubmit span {
  flex-basis: 40%;
  margin: 0 0 10% 0;
}

.personalSettings .mySettings form .settingsSubmit span button {
  margin: 0;
  width: 120px;
  height: 30px;
  line-height: 30px;
}

.personalSettings .mySettings section {
  width: 100%;
}

.personalSettings .mySettings .settingsSubmitMobile {
  display: none;
}

.personalSettings .notifications {
  height: calc(100% - 90px);
  position: relative;
  padding-top: 20px;
}

.personalSettings .notifications .noticationToggles {
  width: 100%;
  height: calc(100% - 48px);
  position: relative;
  overflow-y: auto;
}

.personalSettings .notifications .noticationToggles .notificationSwitch {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 0 10px;
  flex-wrap: wrap;
}

@media (max-width: 950px) {
  .personalSettings .notifications .noticationToggles .notificationSwitch {
    width: 100%;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch label {
    max-width: 75%;
  }
}

@media (max-width: 576px) {
  .personalSettings .filterBar {
    box-shadow: none;
    text-align: center;
  }
  .personalSettings .filterBar h1 {
    color: black;
    font-weight: 700;
  }
  .personalSettings .mySettings form {
    width: 100%;
    text-align: center;
  }
  .personalSettings .mySettings form p {
    margin-top: 5px;
    margin-bottom: 25px;
  }
  .personalSettings .mySettings form .form-group label {
    display: none;
  }
  .personalSettings .mySettings form .form-group input {
    flex-basis: 96%;
    margin: 5px 2%;
    height: 40px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts {
    flex-basis: 100%;
    align-items: center;
    justify-content: space-evenly;
    margin: 10px 0;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper {
    flex-basis: unset;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin {
    box-shadow: 0px 0px 6px 1px #8888882E;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin i {
    font-size: 16px;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin:not(.mobile), .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin:not(.mobile) {
    display: flex;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .fbLogin.mobile {
    display: none;
  }
  .personalSettings .mySettings form .form-group #linkedAccounts .buttonWrapper .googleLogin.mobile {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin: 0 calc(50% - 25px);
  }
  .personalSettings .mySettings form .form-group #linkedAccounts p {
    flex-basis: unset;
    margin-left: 20px;
    margin-bottom: 0;
  }
  .personalSettings .mySettings form .settingsSubmit {
    display: none;
  }
  .personalSettings .mySettings form .dob #dateOfBirthInputs {
    display: none;
  }
  .personalSettings .mySettings form .dob #dateOfBirthInput {
    display: block;
  }
  .personalSettings .mySettings section {
    width: 100%;
    text-align: center;
    margin-bottom: 70px;
  }
  .personalSettings .mySettings .settingsSubmitMobile {
    display: flex;
    align-items: center;
    position: absolute;
    height: 50px;
    bottom: 0;
    width: 100%;
    left: 0;
    border-top: 1px solid #B0BAC3;
    background-color: #FFF;
  }
  .personalSettings .mySettings .settingsSubmitMobile a {
    flex-basis: 50%;
    text-align: center;
    border-right: 1px solid #B0BAC3;
    font-size: 16px;
  }
  .personalSettings .mySettings .settingsSubmitMobile span {
    flex-basis: 50%;
    display: flex;
    justify-content: center;
  }
  .personalSettings .mySettings .settingsSubmitMobile span button {
    background-color: transparent;
    color: #1570A6;
    border-radius: 0;
    margin: 0;
    width: 100%;
    font-size: 16px;
  }
  .personalSettings .notifications {
    margin: 0;
    padding-top: 0;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch {
    padding: 30px 4%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #B0BAC3;
    align-items: center;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch .switch {
    height: 32px;
    width: 44px;
  }
  .personalSettings .notifications .noticationToggles .notificationSwitch .switch .slider::before {
    height: 30px;
    width: 30px;
  }
}

.payHistory .filterBar h1 {
  flex-basis: 100%;
}

.payHistory .paymentHistory {
  margin: 0 8%;
}

.payHistory .paymentHistory p {
  margin: 30px 0;
}

.payHistory .paymentHistory table {
  width: 100%;
  font-size: 11px;
}

.payHistory .paymentHistory table tr {
  height: 50px;
  border-bottom: 1px solid #B0BAC3;
}

.payHistory .paymentHistory table a, .payHistory .paymentHistory table p, .payHistory .paymentHistory table span {
  font-size: 11px;
}

.payHistory .paymentTableMobile {
  display: none;
}

@media (max-width: 576px) {
  .payHistory .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .payHistory .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .payHistory table {
    display: none;
  }
  .payHistory .paymentTableMobile {
    display: block;
  }
  .payHistory .paymentTableMobile .paymentDetail {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #B0BAC3;
    padding: 10px 0;
  }
  .payHistory .paymentTableMobile .paymentDetail > * {
    flex-basis: 50%;
  }
  .payHistory .paymentTableMobile .paymentDetail p {
    margin: 0;
  }
  .payHistory .paymentTableMobile .paymentDetail span {
    font-size: 11px;
  }
  .payHistory .paymentTableMobile .paymentDetail p, .payHistory .paymentTableMobile .paymentDetail .rightSpan {
    text-align: right;
  }
  .payHistory .paymentTableMobile .paymentDetail .paymentTotal {
    text-align: left;
    margin-top: 5px;
  }
  .payHistory .paymentTableMobile .paymentDetail a {
    margin-top: 20px;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive {
    color: #B0BAC3;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive a {
    font-size: 11px;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive span.inactivePayment {
    font-size: 14px;
    pointer-events: none;
    color: #B0BAC3;
  }
  .payHistory .paymentTableMobile .paymentDetail.inactive h5, .payHistory .paymentTableMobile .paymentDetail.inactive .paymentTotal {
    font-weight: 700;
  }
}

.locationSettings {
  height: 80vh;
  display: flex;
  flex-direction: column;
}

.locationSettings .myLocations {
  display: flex;
  height: 100%;
  margin-top: -10px;
}

.locationSettings .myLocations .locationsPanel {
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 30px 8% 0;
}

.locationSettings .myLocations .locationsPanel .searchLocation {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl {
  display: flex;
  z-index: 1;
  width: 100%;
}

@media (min-width: 992px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl {
    width: 100%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl .fancyDropdown-wrapper {
  width: 90%;
  margin-left: 5%;
}

@media (min-width: 992px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .inputWithButtonFormControl .fancyDropdown-wrapper {
    width: 100%;
    margin-left: 0;
    margin-right: 10px;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation label {
  flex-basis: 100%;
  font-size: 14px;
}

.locationSettings .myLocations .locationsPanel .searchLocation input {
  flex-basis: 50%;
}

@media (max-width: 1040px) {
  .locationSettings .myLocations .locationsPanel .searchLocation input {
    flex-basis: 100%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
  flex-basis: 50%;
  display: flex;
  justify-content: center;
}

@media (max-width: 1040px) {
  .locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
    margin-top: 15px;
    margin-left: 25%;
  }
}

.locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper button {
  margin: 0;
  width: 100px;
}

.locationSettings .myLocations .locationsPanel .savedLocations {
  overflow-y: auto;
  height: 100%;
}

.locationSettings .myLocations .locationsPanel .savedLocations h4 {
  margin-bottom: 20px;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation {
  display: flex;
  align-items: center;
  height: 40px;
  border-top: 1px solid #B0BAC3;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation i {
  margin-left: auto;
}

.locationSettings .myLocations .locationsPanel .savedLocations .savedLocation p {
  margin: 0;
}

.locationSettings .myLocations .locationsPanel img {
  height: 25px;
}

.locationSettings .myLocations .mapPanel {
  flex-basis: 50%;
  height: 500px;
}

@media (max-width: 576px) {
  .locationSettings .myLocations .mapPanel {
    flex-basis: unset;
    height: 248px;
    margin-top: 10px;
  }
}

.locationSettings .myLocations .mapPanel #googleMap {
  height: 100%;
  border-radius: 0;
  background-color: #B0BAC3;
}

@media (max-width: 576px) {
  .locationSettings .myLocations .mapPanel #googleMap {
    height: 248px;
  }
}

.locationSettings .myLocations .editFilterBar {
  display: none;
}

@media (max-width: 576px) {
  .locationSettings .filterBar {
    display: none;
  }
  .locationSettings .myLocations {
    flex-direction: column;
    order: 1;
  }
  .locationSettings .myLocations .locationsPanel {
    order: 1;
    padding-top: 40px;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation {
    position: absolute;
    top: 222px;
    width: 100%;
    margin-left: -8%;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation label {
    display: none;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation input {
    flex-basis: 90%;
    margin: 4px 0 0;
    height: 40px;
    z-index: 3;
  }
  .locationSettings .myLocations .locationsPanel .searchLocation .buttonWrapper {
    display: none;
  }
  .locationSettings .myLocations .editFilterBar .deleteButton {
    color: #1570A6;
  }
  .locationSettings .myLocations .editFilterBar {
    display: flex;
  }
}

.notificationSettings .filterBar h1 {
  flex-basis: 100%;
}

.notificationSettings .notifications {
  margin: 0 8%;
  height: calc(100% - 90px);
  position: relative;
}

.notificationSettings .notifications p {
  margin: 20px 0 30px;
}

.notificationSettings .notifications .noticationToggles {
  width: 100%;
  height: calc(100% - 48px);
  position: relative;
  overflow-y: auto;
}

.notificationSettings .notifications .noticationToggles .notificationSwitch {
  display: flex;
  justify-content: space-between;
  width: 70%;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.notificationSettings .notifications .noticationToggles .newAdFilters {
  display: none;
  flex-basis: 100%;
  position: relative;
  max-height: 310px;
  margin-bottom: 20px;
  border-bottom: solid 1px #B0BAC3;
  border-top: solid 1px #B0BAC3;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories {
  flex-basis: 200px;
  background-color: #FAFAFF;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories {
  overflow-y: auto;
  height: 230px;
  padding: 0 8%;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 45px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory p {
  margin: 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory i {
  font-weight: 400;
  cursor: pointer;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory i:hover {
  font-weight: 900;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory.active p {
  color: #1570A6;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory:hover p {
  color: #2586BF;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adCategories button {
  height: 30px;
  width: 120px;
  margin: 24px calc(50% - 60px);
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
  flex-basis: calc(100% - 200px);
  display: flex;
  flex-wrap: wrap;
  overflow-y: auto;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group {
  flex-basis: calc(33.33% - 24px);
  margin: 10px 12px;
  height: 40px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label {
  position: absolute;
  width: 100%;
  height: 100%;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconLeft {
  left: 8px;
  right: unset;
  bottom: 11px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconRight {
  right: 8px;
  bottom: 11px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label i {
  right: 17px;
  bottom: 17px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group input, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group select {
  height: 30px;
  padding: 2px 36px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost label img {
  left: 2px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputWrapper {
  position: relative;
  width: 100%;
  display: flex;
  border-radius: 28px;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputWrapper:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputLeft {
  border-right: none;
  border-radius: 28px 0 0 28px;
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputRight {
  padding: 5px 22px;
  text-align: center;
  width: 50%;
  margin: 0;
  border-left: none;
  border-radius: 0 28px 28px 0;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputLeft:focus, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group.cost .costInputRight:focus {
  box-shadow: none;
  border-right: none;
}

.notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .boxText {
  height: 30px;
  line-height: 30px;
  bottom: 10px;
  text-align: center;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup {
  border-radius: 28px;
  box-shadow: 0 0 6px #8888882E;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup .input-group-text {
  padding: 0 12px;
  border: none;
}

.notificationSettings .notifications .registerForm .phoneNumberInputGroup input {
  box-shadow: none;
}

@media (max-width: 1255px) {
  .notificationSettings .notifications .notificationToggles .newAdFilters .adFilterDropdowns .form-group {
    flex-basis: calc(50% - 50px);
  }
}

@media (max-width: 1020px) {
  .notificationSettings .notifications .notificationToggles .newAdFilters .adFilterDropdowns .form-group {
    flex-basis: calc(50% - 20px);
    margin: 10px;
  }
}

@media (max-width: 950px) {
  .notificationSettings .notifications .noticationToggles .notificationSwitch {
    width: 100%;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch label {
    max-width: 75%;
    font-weight: 400;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconLeft {
    bottom: 2px;
    left: 5px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label img.iconRight {
    bottom: 2px;
    right: 5px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group label i {
    right: 15px;
    bottom: 8px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .boxText {
    bottom: 0;
  }
}

@media (max-width: 576px) {
  .notificationSettings .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .notificationSettings .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .notificationSettings .notifications {
    margin: 0;
  }
  .notificationSettings .notifications p {
    margin: 20px 4%;
    text-align: center;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch {
    padding: 30px 4%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #B0BAC3;
    align-items: center;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch label.strongBlk {
    max-width: unset;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch .switch {
    height: 32px;
    width: 44px;
  }
  .notificationSettings .notifications .noticationToggles .notificationSwitch .switch .slider::before {
    height: 30px;
    width: 30px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories {
    flex-basis: 100%;
    background-color: #1570A6;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories {
    color: white;
    padding: 0;
    min-height: 300px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .mobileHeading {
    display: block;
    color: white;
    margin: 30px;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .mobileHeading h2 {
    font-weight: 700;
    text-align: center;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory {
    border-top: 1px solid #FFF;
    padding: 0 4%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories .categories .adCategory.active p {
    color: white;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adCategories button {
    display: none;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns {
    display: none;
    flex-basis: 100%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns h2 {
    text-align: center;
    font-weight: 700;
    margin: 20px 0;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group {
    height: 40px;
    margin: 30px 4%;
  }
  .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group input, .notificationSettings .notifications .noticationToggles .newAdFilters .adFilterDropdowns .form-group select {
    height: 48px;
  }
  .notificationSettings .notifications .registerForm {
    padding: 18px;
  }
}

@media (max-width: 385px) {
  .notificationSettings .notifications .noticationToggles .notificationSwitch label.strongBlk {
    max-width: 230px;
  }
}

.categorySettings .filterBar h1 {
  flex-basis: 100%;
}

.categorySettings .favouriteCategories {
  margin: 0 8%;
}

.categorySettings .favouriteCategories p {
  margin: 30px 0;
}

.categorySettings .favouriteCategories .categoriesWrapper {
  display: flex;
  justify-content: space-evenly;
}

.categorySettings .favouriteCategories .categories {
  display: inline-block;
  width: 35%;
}

.categorySettings .favouriteCategories .categories .favouriteToggle {
  width: 100%;
  display: inline-block;
  margin-bottom: 20px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle img {
  display: inline-block;
  width: 40px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
  display: inline-block;
  width: calc(100% - 63px);
  margin-left: 20px;
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label {
  margin: 0;
  width: calc(100% - 74px);
}

.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch .switch,
.categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch .dropdownSwitch {
  width: 34px;
  float: right;
  margin-right: 10px;
}

@media (max-width: 1080px) {
  .categorySettings .favouriteCategories .categories {
    width: 50%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    flex-basis: 100%;
  }
}

@media (max-width: 576px) {
  .categorySettings .filterBar {
    box-shadow: none;
    padding: 20px 8% 0;
  }
  .categorySettings .filterBar h1 {
    font-size: 18px;
    color: black;
    text-align: center;
  }
  .categorySettings .favouriteCategories {
    margin: 0;
  }
  .categorySettings .favouriteCategories p {
    text-align: center;
    margin: 20px 4%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    border-bottom: 1px solid #B0BAC3;
    padding: 20px 4%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle img {
    flex-basis: 60px;
    height: 60px;
    width: 60px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch {
    width: calc(100% - 83px);
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label.strongBlk {
    font-size: 16px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter {
    height: 42px;
    width: 54px;
    flex-basis: 54px;
    margin-top: -7px;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter .slider::before,
  .categorySettings .favouriteCategories .categories .favouriteToggle .favouriteSwitch label#categoryFilter .dropdownToggle::before {
    height: 40px;
    width: 40px;
  }
}

@media (max-width: 865px) {
  .categorySettings .favouriteCategories .categoriesWrapper {
    display: block;
  }
  .categorySettings .favouriteCategories .categories {
    width: 100%;
  }
  .categorySettings .favouriteCategories .categories .favouriteToggle {
    display: block;
    width: 100%;
  }
}

@media (max-width: 1125px) {
  .filterBar {
    padding: 0 4%;
  }
  .filterBar h1 {
    flex-basis: 35%;
    font-size: 14px;
  }
  .filterBar h1 span {
    font-size: 14px;
  }
  .filterBar .rightFilterBar {
    flex-basis: 65%;
  }
}

@media (max-width: 825px) {
  .filterBar .rightFilterBar {
    flex-basis: 100%;
    justify-content: center;
  }
  .filterBar .rightFilterBar a {
    text-align: right;
  }
}

.filterBar {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
  box-shadow: 0 4px 6px #8888882E;
  align-items: center;
  padding: 20px 8%;
  justify-content: space-between;
}

.filterBar h1 {
  margin: 0;
  flex-basis: 200px;
}

.filterBar .rightFilterBar {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: calc(100% - 200px);
}

.filterBar .rightFilterBar a {
  flex-basis: 60px;
  text-align: right;
}

.filterBar .rightFilterBar .dropdown {
  flex-basis: calc(100% - 60px);
  margin-right: 0;
}

.filterBar .hideBar {
  display: none;
}

.subCategories {
  display: none;
  width: 100%;
  margin: 15px;
  max-height: 206px;
  padding: 20px 0;
  overflow: auto;
}

.subCategories .subCategory {
  display: flex;
  height: 53px;
}

.subCategories .subCategory input {
  height: 20px;
  width: 27px;
}

.subCategories .subCategory label {
  margin-left: 10px;
  height: 20px;
  line-height: 20px;
}

.companyProfile {
  position: relative;
  padding-left: 8%;
  display: flex;
  flex-direction: row;
  min-height: 500px;
  max-height: 92vh;
  margin-bottom: -15px;
}

.companyProfile .results {
  overflow-y: auto;
}

.companyProfile .results .filterBar {
  height: 80px;
  justify-content: flex-end;
}

.companyProfile .results .wrapper {
  height: 89%;
  padding-top: 10px;
}

.companyProfile hr {
  margin-left: 8%;
}

.companyProfile .advancedSearchLink {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.companyProfile .advancedSearchLink h5 {
  margin-right: 0;
}

.companyProfile .advancedSearchLink i {
  font-size: 14px;
  margin-left: 10px;
}

.companyProfile .recommendedListings {
  order: 6;
}

.companyProfile .recommendedListings .recentlyAdded .wrapper {
  padding: 10px 0 0 0;
}

@media (max-width: 800px) {
  .companyProfile .results .sortBy h5 {
    display: none;
  }
}

@media (max-width: 710px) {
  .companyProfile {
    padding-left: 4%;
  }
}

@media (max-width: 675px) {
  .companyProfile {
    padding-left: 0;
  }
}

@media (max-width: 648px) {
  .companyProfile .results .pagination h5 {
    display: none;
  }
}

@media (max-width: 590px) {
  .companyProfile .results .pagination {
    padding-left: 0;
  }
  .companyProfile .results .pagination h5 {
    display: none;
  }
}

.iw {
  width: 100%;
  height: 80px;
  margin-bottom: 30px;
  position: relative;
}

.iw .mainImage {
  width: 100%;
  height: 80px;
}

.iw .profileAvatar {
  position: absolute;
  left: calc(50% - 30px);
  width: 60px;
  height: 60px;
  border-radius: 30px;
  bottom: -30px;
  box-shadow: 0px 0px 8px black;
}

.companyName {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px 0;
  text-align: center;
}

.companyName h1 {
  flex-basis: 100%;
  font-size: 20px;
  font-weight: 700;
}

.companyBio {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 10px 8% 0;
}

.companyBio label {
  margin-right: 10px;
  color: black;
}

.companyBio a {
  color: black;
}

.companyBio .phoneInfo {
  flex-basis: 100%;
}

.companyBio .companyInfo p {
  text-align: left;
}

.filterTotal {
  display: flex;
  justify-content: space-between;
  padding: 20px 8% 0;
}

.filterTotal span p {
  margin-bottom: 0;
}

.results .filterTotal {
  display: none;
}

@media (max-width: 950px) {
  .companyBio > div {
    margin-top: 5px;
  }
  .companyBio hr {
    margin-left: 0;
    margin-bottom: 10px;
    width: 100%;
  }
}

@media (max-width: 576px) {
  .companyProfile {
    padding: 0;
    max-height: unset;
  }
  .results .filterTotal {
    display: flex;
    align-items: baseline;
    padding-top: 0;
  }
  .results .filterTotal a {
    order: 2;
  }
  .results .filterTotal span {
    color: black;
    order: 1;
  }
  .results .sortBy {
    flex-basis: 100%;
    margin: 0 20%;
  }
  .results .sortBy h5 {
    display: none;
  }
  .results .sortBy label {
    width: 100%;
    left: unset;
  }
  .results .sortBy label i {
    right: 28px;
    bottom: 6px;
  }
  .results .sortBy select {
    order: 4;
    width: 100%;
    flex-basis: 100%;
    box-shadow: 0 0 3px 1px #00000040;
    height: 40px;
    line-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .results .filterBar {
    order: 5;
    box-shadow: none;
  }
  .results .filterBar .distanceInput, .results .filterBar .pagination {
    display: none;
  }
  .results .costInput label img {
    top: 8px;
  }
  .results span {
    text-align: center;
    height: 20px;
    line-height: 20px;
    margin-top: 20px;
    order: 3;
    font-size: 12px;
    color: #1570A6;
  }
  .results .wrapper {
    order: 5;
  }
  .results .wrapper .listing {
    height: auto;
  }
}

.ui-autocomplete {
  border-radius: 0px 0px 10px 10px;
  border: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.articleView {
  display: flex;
  padding: 0 8%;
}

.articlesPanel {
  padding-top: 70px;
  min-height: 80vh;
  text-align: initial;
}

.menuLink a {
  margin-left: 20px;
}

.articles {
  flex-basis: 100%;
}

.categoryTitle {
  font-size: 18px;
  font-weight: 700;
}

#showCategoryItems {
  width: 150px;
  margin-left: calc(50% - 75px);
}

#rightPanel {
  padding: 20px 10px;
}

.squareBanner {
  max-width: 250px;
  max-height: 250px;
  margin-bottom: 20px;
  overflow: hidden;
}

.squareBanner.mobileView {
  display: none;
}

#relatedItems {
  display: none;
}

#relatedItems .relatedItemsCarousel {
  width: 70vw;
  margin: auto;
}

#relatedItems .relatedItemsCarousel .slick-dots {
  bottom: -35px;
}

.article .articleHeading {
  display: flex;
  padding: 0 8%;
  align-items: center;
  min-height: 70px;
  box-shadow: 0px 3px 4px 0px #0000003b;
}

.article .articleHeading h1 {
  margin-bottom: 0;
  padding: 20px 0;
}

.article .articleExcerpt {
  padding: 20px 8% 0;
}

.article .articleExcerpt p {
  font-weight: 700;
  font-size: 16px;
}

.article .articleBody {
  padding: 30px 8% 0;
}

.article .articleBody .termStatement {
  margin-bottom: 30px;
}

.article .articleBody .banner {
  padding: 40px 0;
  text-align: center;
}

.article .articleBody .banner img {
  max-width: 100%;
}

.article .articleBody .relatedItem {
  padding: 25px 0;
}

.article .articleBody .relatedItem .listing {
  display: grid;
  grid-template-areas: 'image detail';
  grid-template-columns: 47% 53%;
}

.article .articleBody .relatedItem .imageWrapper {
  grid-area: image;
}

.article .articleBody .relatedItem .listingDetail {
  padding-left: 25px;
  margin: 0;
  grid-area: detail;
  display: grid;
  grid-template-areas: 'title' 'location' 'description' 'price';
  grid-template-rows: 15% 20% minmax(0, auto) 15%;
}

.article .articleBody .relatedItem .listingDetail .listingInfo {
  grid-area: title;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 700;
  margin: 0;
}

.article .articleBody .relatedItem .listingDetail .listingLocation {
  grid-area: location;
}

.article .articleBody .relatedItem .listingDetail .description {
  grid-area: description;
  overflow: hidden;
}

.article .articleBody .relatedItem .listingDetail .price {
  grid-area: price;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #1570A6;
}

.article .articleBody .relatedArticles {
  padding-top: 25px;
}

.article .articleBody .relatedArticles a {
  color: #000000;
}

.article .articleBody .relatedArticles li {
  padding: 0.25rem 0;
}

.article h1 {
  text-align: center;
  font-weight: 700;
  color: #1570A6;
}

.article hr {
  margin: 1rem 0;
  width: 100%;
}

.article ol, .article ul {
  padding-left: 0;
  list-style-position: inside;
}

.article ol h3, .article ul h3 {
  text-align: center;
}

.articleNumberList ::marker {
  content: counters(list-item, ".") ". ";
  font-weight: bold;
}

.articleLetterList {
  margin-top: -1rem;
  margin-left: 7px;
}

.articleLetterList ::marker {
  font-weight: bold;
}

.articleContentHp {
  height: calc(100% - 50px);
  overflow: hidden;
  position: absolute;
}

.articleContentHp :after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2rem;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
}

@media (max-width: 1279px) {
  #leftPanel {
    display: none;
  }
  .article .articleHeading {
    box-shadow: none;
  }
  .article .articleExcerpt {
    padding-top: 0;
  }
}

@media (max-width: 992px) {
  .article .articleBody .relatedItem .listingDetail .price {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  #rightPanel {
    display: none;
  }
  #relatedItems {
    display: initial;
  }
  .squareBanner.mobileView {
    display: block;
    margin: 50px auto 0;
  }
  .articleContentHp a, p {
    font-size: 12px;
  }
}

@media (max-width: 576px) {
  .article .articleBody .relatedItem .listing {
    grid-template-areas: 'image' 'detail';
    grid-template-columns: auto;
  }
  .article .articleBody .relatedItem .listingDetail {
    padding-left: 0;
    padding-top: 15px;
    display: grid;
    grid-template-areas: 'title title' 'price location' 'description description';
    grid-template-rows: 20% 25% minmax(0, 100px);
  }
  .article .articleBody .relatedItem .listingDetail .listingInfo {
    font-size: 20px;
  }
  .article .articleBody .relatedItem .listingDetail .listingLocation {
    text-align: end;
  }
  .article .articleBody .relatedItem .listingDetail .description {
    margin-bottom: 0;
  }
  .article .articleBody .relatedItem .listingDetail .price {
    font-size: 20px;
  }
}

#cookiesPopup {
  position: fixed;
  z-index: 10000;
  width: 100%;
  bottom: 0;
}

#cookiesPopup .wrapper {
  margin: 0 auto;
  width: 100%;
  position: relative;
  background-color: #FAFAFF;
}

#cookiesPopup .inner {
  min-height: 35px;
  line-height: 25px;
  font-size: 11px;
  z-index: 1066;
  width: 100%;
  padding: 5px 10px;
  margin: 0px auto;
  text-align: center;
}

#cookiesPopup .agree {
  margin: 0px auto;
  background-color: #1570A6;
  cursor: pointer;
  height: 44px;
  line-height: 44px;
  color: #FFF;
  border-radius: 25px;
}

#cookiesPopup .agree:hover, #cookiesPopup .agree:focus {
  background-color: #2586BF;
}

@media (max-width: 768px) {
  #cookiesPopup .inner {
    line-height: 16px;
    text-align: center;
  }
  #cookiesPopup .agree {
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  button:not(.noHover):hover, .button:hover, .searchButton:hover, .searchButtonMobile:hover, .nav-item.active:hover {
    background-color: #2586BF;
  }
  button.navbar-toggler:hover {
    background-color: #FFF;
  }
  .advancedSearchMenu #advancedSearch #advancedSearchLinkClose:hover {
    text-decoration: underline;
    color: #2586BF;
  }
  .blkLink:hover {
    color: #2586BF;
  }
  .kategorie a:hover {
    text-decoration: none;
  }
  a.underline:hover {
    color: #2586BF;
  }
  .itemDetail .itemDetailContainer .rightPanel .contactListings a.button:hover {
    color: #FFF;
  }
  .profileMenuLink:hover, .menuLink:hover {
    background-color: #2586BF;
  }
  .profileMenuLink:hover label i, .menuLink:hover label i {
    color: white;
  }
  .profileMenuLink:hover a, .menuLink:hover a {
    color: white;
  }
  .companyProfile .advancedSearchLink:hover {
    text-decoration: underline;
  }
  .listing:hover button {
    visibility: visible;
  }
  .googleLogin:hover {
    background-color: #c63d32;
  }
  .newItem .adminPanel .form-inline .form-submit .saveDraft:hover {
    text-decoration: underline;
  }
  .boardView .listing:hover button {
    visibility: hidden;
  }
  .registerTypeSelection input[type=radio]:hover + label {
    background-color: #2586BF;
    color: #fff;
  }
  .registerTypeSelection input[type=radio]:hover + label > svg {
    fill: #fff;
  }
  .editIcon:hover {
    cursor: pointer;
  }
  .nav-item:not(.active) .nav-link:hover {
    text-decoration: underline;
  }
}

@media (max-width: 576px) {
  .itemDetail .itemDetailContainer .sellerWrapper a.contactButton:hover {
    color: #FFF;
  }
}

#close {
  width: 145px;
  height: 16px;
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  color: #1570A6;
  background: none;
  position: static;
  margin-left: -45px;
  margin-bottom: 26px;
  margin-top: -20px;
}

#errorMessage {
  color: #FF0000;
  display: none;
}

.copied {
  background-color: #EFF5F9;
  color: #000;
  border: solid black 1px;
  border-radius: 30px;
}

.mailSender {
  display: none;
}

.mailSender input[type=email] {
  width: 281px;
  height: 44px;
  background: #FFFFFF;
  box-shadow: 0px 0px 6px 1px rgba(170, 170, 170, 0.18);
  border-radius: 10px;
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0em;
  text-align: left;
}

.mailSender input::placeholder {
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0em;
  text-align: left;
}

.mailSender input[type=checkbox] {
  width: 15px;
  height: 15px;
  margin-top: 19px;
  margin-left: 30px;
}

.mailSender input[type=checkbox] {
  position: relative;
}

.mailSender p {
  margin-top: 2px;
  margin-left: 6px;
}

.mailSender #mailCheck {
  font-size: 12px;
  vertical-align: middle;
}

.mailSender textarea {
  width: 100%;
  height: 189px;
  background: #FFFFFF;
  box-shadow: 0px 0px 6px 1px rgba(170, 170, 170, 0.18);
  border-radius: 10px;
  font-family: Poppins;
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  line-height: 18px;
  padding-top: 12px;
}

.mailSender #sendMail {
  width: 281px;
  height: 40px;
  margin-left: 0;
  margin-bottom: 17px;
  background: #1570A6;
  border-radius: 30px;
}

.mailSender #sendMail i {
  margin-right: 12px;
}

.mailSender #sendMail:disabled {
  background: #5D9CC2;
}

#copyNumberResponsive {
  width: 95%;
  margin-left: auto;
}

#copyNumberResponsive i {
  margin-right: 4px;
}

#openMailResponsive {
  width: 95%;
  margin-left: auto;
}

#openMailResponsive i {
  margin-right: 4px;
}

#whatsappResponsive {
  width: 95%;
  margin-left: auto;
  text-align: center;
}

#whatsappResponsive i {
  margin-right: 4px;
}

#whatsappResponsive a:hover {
  color: #FFFFFF;
}

#closeResponsive {
  position: static;
  color: #1570A6;
  background: none;
  margin-left: 0;
  text-align: left;
}

#mailInputResponsive {
  width: 100%;
}

#mailBodyResponsive {
  width: 100%;
  padding-top: 12px;
}

#sendMailResponsive {
  width: 100%;
  margin-left: auto;
}

#sendMailResponsive i {
  margin-right: 4px;
}

#mailCheckResponsive {
  width: 100%;
}

#mailCheckBoxResponsive {
  margin-left: 10px;
}

.sellerButtonRowResponsive button {
  text-decoration: none;
}

.sellerButtonRowResponsive a {
  text-decoration: none;
}

.sellerButtonRowResponsive .button {
  text-decoration: none;
}

.error {
  color: red;
}

.inputError {
  border: solid 1px red;
}

#responseErrorMessage,
#responseErrorMessageResponsive {
  display: none;
  color: red;
}

button:disabled {
  background: #5D9CC2;
}

#copyPhone {
  display: none;
}

#hiddenNumberDiv {
  margin-left: 4px;
  margin-top: 1px;
}

#hiddenNumberDiv p {
  font-size: 30px;
  font-weight: 400;
}

#successResponsive {
  display: block;
  text-align: center;
  color: #11BB55;
  font-size: 20px;
  margin-left: 30%;
  display: none;
}

#hiddenNumberDivResponsive {
  pointer-events: none;
}

#hiddenNumberDivResponsive p {
  color: #212529;
  font-size: 30px;
  font-weight: 400;
}

.headerSearchWidget {
  display: none;
}

@media (min-width: 992px) {
  .headerSearchWidget {
    display: block;
  }
}

.headerSearchWidget .fancyDropdownList > li:last-child {
  margin-bottom: 25px;
}

.headerSearchWidget.hideNseek {
  display: none;
}

.headerSearchWidget.hideNseek.unhide {
  display: none;
}

@media (min-width: 992px) {
  .headerSearchWidget.hideNseek.unhide {
    display: block;
  }
}

html, body, #vueApp {
  height: 100%;
}

hr {
  width: 84%;
  margin: 0px;
}

hr.fullRule {
  width: 100%;
  margin: 0 auto 1rem;
}

hr.footerHr {
  margin: 0 auto 1rem;
}

.ui-autocomplete {
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 0 0.2rem rgba(0, 123, 255, 0.25);
  padding-top: 10px !important;
  top: 0px !important;
  margin-top: 27px !important;
  border: none !important;
  z-index: 2 !important;
}

.ui-autocomplete:empty {
  box-shadow: none;
}

.ui-menu .ui-menu-item-wrapper {
  padding: 3px 1em 3px 1.4em !important;
}

.blueText {
  color: #1570A6;
}

.blueBorder {
  border: 1px solid #1570A6;
}

.blueBorderBottom {
  border-bottom: 1px solid #1570A6;
}

.transparentBorder {
  border: 1px solid transparent;
}

.brightBlueText {
  color: #0076ac;
}

.greyText {
  color: #B0BAC3;
}

.ta-r {
  text-align: right;
}

.fb-100 {
  flex-basis: 100% !important;
}

.flex {
  display: flex;
}

.hidden {
  display: none;
}

/* Inserting this collapsed row between two flex items will make
 * the flex item that comes after it break to a new row */
.break {
  flex-basis: 100%;
  height: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsInBsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIkNvbXBvbmVudHMvYnV0dG9ucy5zY3NzIiwiQ29tcG9uZW50cy9jYXJvdXNlbHMuc2NzcyIsIkNvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzIiwiQ29tcG9uZW50cy9mb290ZXIuc2NzcyIsIkNvbXBvbmVudHMvdGhlbWVUb2dnbGUuc2NzcyIsIkNvbXBvbmVudHMvdGhlbWVEcm9wZG93blRvZ2dsZS5zY3NzIiwiQ29tcG9uZW50cy9qdW1ib3Ryb24uc2NzcyIsIkNvbXBvbmVudHMvcmVjZW50bHlBZGRlZC5zY3NzIiwiQ29tcG9uZW50cy9yZWNlbnRseU9wZW5lZC5zY3NzIiwiQ29tcG9uZW50cy9wYXltZW50LnNjc3MiLCJDb21wb25lbnRzL2NvbmZpcm1hdGlvbi5zY3NzIiwiQ29tcG9uZW50cy9pdGVtRGV0YWlsLnNjc3MiLCJDb21wb25lbnRzL3Rvb2x0aXBzLnNjc3MiLCJDb21wb25lbnRzL2NhdGVnb3JpZXMuc2NzcyIsIkNvbXBvbmVudHMvc2ltaWxhckFkcy5zY3NzIiwiQ29tcG9uZW50cy9saXN0aW5nLnNjc3MiLCJDb21wb25lbnRzL3RvcENhdGVnb3JpZXMuc2NzcyIsIkNvbXBvbmVudHMvY2F0ZWdvcnlJbnRlcmVzdHMuc2NzcyIsIkNvbXBvbmVudHMvY2F0ZWdvcnkuc2NzcyIsIkNvbXBvbmVudHMvcmVjb21tZW5kZWRMaXN0aW5ncy5zY3NzIiwiQ29tcG9uZW50cy9zZWFyY2hSZXN1bHRzLnNjc3MiLCJDb21wb25lbnRzL25ld0l0ZW0uc2NzcyIsIkNvbXBvbmVudHMvZXJyb3JQYWdlcy5zY3NzIiwiQ29tcG9uZW50cy93cmFwcGVycy5zY3NzIiwiQ29tcG9uZW50cy9oZWFkaW5ncy5zY3NzIiwiQ29tcG9uZW50cy9sb2dpblJlZ2lzdGVyLnNjc3MiLCJDb21wb25lbnRzL2dvb2dsZU1hcC5zY3NzIiwiQ29tcG9uZW50cy9nbG9iYWwuc2NzcyIsIkNvbXBvbmVudHMvZm9ybXMuc2NzcyIsIkNvbXBvbmVudHMvYm9hcmRzLnNjc3MiLCJDb21wb25lbnRzL21vZGFscy5zY3NzIiwiQ29tcG9uZW50cy9maWx0ZXJQYW5lbC5zY3NzIiwiQ29tcG9uZW50cy9wcm9maWxlLnNjc3MiLCJDb21wb25lbnRzL3Byb2ZpbGVNZW51LnNjc3MiLCJDb21wb25lbnRzL3Byb2ZpbGVNZW51TGlua3Muc2NzcyIsIkNvbXBvbmVudHMvY29tcGFueVByb2ZpbGUuc2NzcyIsIkNvbXBvbmVudHMvYXV0b2NvbXBsZXRlLnNjc3MiLCJDb21wb25lbnRzL2FydGljbGUuc2NzcyIsIkNvbXBvbmVudHMvY29va2llc1BvcHVwLnNjc3MiLCJob3ZlclJ1bGVzLnNjc3MiLCJDb21wb25lbnRzL21haWxTZW5kZXIuc2NzcyIsIkNvbXBvbmVudHMvaGVhZGVyU2VhcmNoV2lkZ2V0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0IG92ZXJyaWRlIHZhcmlhYmxlc1xuQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAncGxhY2Vob2xkZXJzLnNjc3MnO1xuXG4vLyBJbXBvcnQgQm9vdHN0cmFwIGFuZCBpdHMgZGVmYXVsdCB2YXJpYWJsZXNcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2Nzcyc7XG5cbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzJztcblxuLy8gSW1wb3J0IENvbXBvbmVudHNcblxuQGltcG9ydCBcIkNvbXBvbmVudHMvYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9jYXJvdXNlbHMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvdGhlbWVUb2dnbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvdGhlbWVEcm9wZG93blRvZ2dsZS5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9qdW1ib3Ryb24uc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvcmVjZW50bHlBZGRlZC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9yZWNlbnRseU9wZW5lZC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9wYXltZW50LnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2NvbmZpcm1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9pdGVtRGV0YWlsLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Rvb2x0aXBzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2NhdGVnb3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvc2ltaWxhckFkcy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9saXN0aW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3RvcENhdGVnb3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY2F0ZWdvcnlJbnRlcmVzdHMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY2F0ZWdvcnkuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvcmVjb21tZW5kZWRMaXN0aW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9zZWFyY2hSZXN1bHRzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL25ld0l0ZW0uc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvZXJyb3JQYWdlcy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy93cmFwcGVycy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9oZWFkaW5ncy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9sb2dpblJlZ2lzdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2dvb2dsZU1hcC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9nbG9iYWwuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvYm9hcmRzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL21vZGFscy5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9maWx0ZXJQYW5lbC5zY3NzXCI7XG5AaW1wb3J0IFwiQ29tcG9uZW50cy9wcm9maWxlLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Byb2ZpbGVNZW51LnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL3Byb2ZpbGVNZW51TGlua3Muc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY29tcGFueVByb2ZpbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvYXV0b2NvbXBsZXRlLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL2FydGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcIkNvbXBvbmVudHMvY29va2llc1BvcHVwLnNjc3NcIjtcbkBpbXBvcnQgXCJob3ZlclJ1bGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJDb21wb25lbnRzL21haWxTZW5kZXIuc2Nzc1wiO1xuXG4vLyBJbXBvcnQgVnVlIENvbXBvbmVudHNcbkBpbXBvcnQgXCJDb21wb25lbnRzL2hlYWRlclNlYXJjaFdpZGdldC5zY3NzXCI7XG5cbmh0bWwsIGJvZHksICN2dWVBcHAge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuaHIge1xuICAgIHdpZHRoOiA4NCU7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbmhyLmZ1bGxSdWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xufVxuXG5oci5mb290ZXJIciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbn1cblxuLnVpLWF1dG9jb21wbGV0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbiAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgIHRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMjdweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDtcblxuICAgICY6ZW1wdHkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLnVpLW1lbnUge1xuICAgIC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDNweCAxZW0gM3B4IDEuNGVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYmx1ZVRleHQge1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbn1cblxuLmJsdWVCb3JkZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xufVxuXG4uYmx1ZUJvcmRlckJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xufVxuXG4udHJhbnNwYXJlbnRCb3JkZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uYnJpZ2h0Qmx1ZVRleHQge1xuICAgIGNvbG9yOiAkYnJpZ2h0LWJsdWU7XG59XG5cbi5ncmV5VGV4dCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG4udGEtciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mYi0xMDAge1xuICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8gdXRpbGl0aWVzXG5cbi5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBJbnNlcnRpbmcgdGhpcyBjb2xsYXBzZWQgcm93IGJldHdlZW4gdHdvIGZsZXggaXRlbXMgd2lsbCBtYWtlXG4gKiB0aGUgZmxleCBpdGVtIHRoYXQgY29tZXMgYWZ0ZXIgaXQgYnJlYWsgdG8gYSBuZXcgcm93ICovXG4uYnJlYWsge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xufVxuIiwiLy8gR0xPQkFMXG4kZGVmYXVsdC1tYXJnaW46IDAgOCU7XG4kZGVmYXVsdC1tb2JpbGUtbWFyZ2luOiAwIDQlO1xuJGRlZmF1bHQtcGFkZGluZzogMCA4JTtcbiRkZWZhdWx0LW1vYmlsZS1wYWRkaW5nOiAwIDQlO1xuJGRlZmF1bHQtZm9udC1zaXplOiAxMnB4O1xuJGRlZmF1bHQtbGFyZ2UtZm9udC1zaXplOiAxNnB4O1xuJGRlZmF1bHQtZm9udC1zaXplLW1vYmlsZTogMTRweDtcbiRmb250LWZhbWlseS1iYXNlOiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4kZGVmYXVsdF9ib3hfc2hhZG93X2NvbG9yOiAjODg4ODg4MkU7XG4kZGVmYXVsdF9ib3hfc2hhZG93OiAwcHggMHB4IDZweCAxcHggJGRlZmF1bHRfYm94X3NoYWRvd19jb2xvcjtcbiRkZWZhdWx0X2JveF9zaGFkb3dfbm9fdG9wOiAwcHggNnB4IDZweCAxcHggJGRlZmF1bHRfYm94X3NoYWRvd19jb2xvcjtcblxuLy8gTGlnaHQgVGhlbWVcbiRsaWdodC1ibHVlOiAjMTU3MEE2O1xuJGxpZ2h0LWJsdWUtaG92ZXI6ICMyNTg2QkY7XG4kbGlnaHQtYmx1ZS1hY3RpdmU6ICMxMTVCODc7XG4kbGlnaHQtd2hpdGU6ICNGRkY7XG4kbGlnaHQtd2hpdGUtaG92ZXI6ICNGOUY5Rjk7XG4kbGlnaHQtd2hpdGUtYWN0aXZlOiAjRjBGMEYwO1xuJGxpZ2h0LWZvbnQtY29sb3I6ICMwMDAwMDA7XG4kbGlnaHQtYWR2YW5jZWQtc2VhcmNoLWNvbG9yOiAjRkFGQUZGO1xuJGxpZ2h0LWdyYXktY29sb3I6ICNCMEJBQzM7XG4kbGlnaHQtZGFyay1ncmF5LWNvbG9yOiAjQjNCM0IzO1xuJGJyaWdodC1ibHVlOiAjMDA3NmFjO1xuXG4vLyBEYXJrIFRoZW1lXG4kZGFyay1uYXZiYXItY29udGVudC13cmFwcGVyczogIzJGMzEzNjtcbiRkYXJrLWFkZHJlc3Nlcy1pY29ucy1zZXBlcmF0b3JzOiAjQjNCM0IzO1xuJGRhcmstbWFpbi1iYWNrZ3JvdW5kOiAjMzYzOTNGO1xuJGRhcmstbWVudS1vdmVybGF5LWVsZW1lbnQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcblxuLy8gQm9vdHN0cmFwIE5hdmJhclxuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICRsaWdodC13aGl0ZTtcbiRuYXZiYXItbGlnaHQtY29sb3I6ICMwMDA7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogJ25vbmUnO1xuJG5hdmJhci1wYWRkaW5nLXk6IDE1cHg7XG4kbmF2YmFyLXBhZGRpbmcteDogOCU7XG4vLyBCb290c3RyYXAgUGlsbHNcbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAxcmVtO1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXk6IDAuMnJlbTtcbiRuYXYtbGluay1wYWRkaW5nLXg6IDAuNHJlbTtcbiRuYXYtbGluay1wYWRkaW5nLXk6IDAuM3JlbTtcbiRmb250LXNpemUtYmFzZTogMC42MjVyZW07XG4vLyBCb290c3RyYXAgRm9ybXNcbiRib3JkZXItcmFkaXVzOiAyOHB4O1xuJGlucHV0LXBhZGRpbmcteTogMC43NXJlbTtcbiRpbnB1dC1wYWRkaW5nLXg6IDIuNXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy15OiAwLjc1cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6IDIuNXJlbTtcbi8vIEJvb3RzdHJhcCBUb29sdGlwc1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyNTBweDtcbiR0b29sdGlwLXBhZGRpbmcteTogLjI1cmVtO1xuJHRvb2x0aXAtcGFkZGluZy14OiAuMjVyZW07XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogJGxpZ2h0LWJsdWU7XG4vLyBCdXR0b24gdmFyaWJsZXNcbiRnZW5lcmljQnV0dG9uLWJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbi8vIG1pc2NcbiRzbWFsbC1ib3JkZXItcmFkaXVzOiA3cHg7IiwiJWdlbmVyaWNCdXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnZW5lcmljQnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG4vL1xuLy8gUmVxdWlyZXMgdGhlIHVzZSBvZiBxdW90ZXMgYXJvdW5kIGRhdGEgVVJJcy5cblxuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwiZGF0YTppbWFnZS9zdmcreG1sXCIpIHtcbiAgICBAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gJGVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAkc3RyaW5nOiB1cmwoXCIje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAqIC4wMDE7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTIpICE9IG51bWJlciB7XG4gICAgJHZhbHVlMjogdW5xdW90ZShcIihcIikgKyAkdmFsdWUyICsgdW5xdW90ZShcIilcIik7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyICogLjU7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgICBtYXgtd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSgpIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLndpZHRoIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+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+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvaW50ZXJhY3Rpb25zXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJidXR0b24sIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmZvY3VzLCAuc2VhcmNoQnV0dG9uOmZvY3VzLCAuc2VhcmNoQnV0dG9uTW9iaWxlOmZvY3VzLCAubmF2LWl0ZW0uYWN0aXZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZS1hY3RpdmU7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNlYXJjaEJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi5yZWdpc3RlckJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMTI2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjNweCk7XG59XG5cbi5jb25maXJtQnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5pbWFnZVBpbiwgLnByb2xvbmdQaW4sIC5leHBpcmVkUGluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxNXB4IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5leHBpcmVkUGluIHtcbiAgICBjb2xvcjogI2ZlNDQzNSAhaW1wb3J0YW50O1xufVxuXG4uaW1hZ2VQaW4ucGlubmVkIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIGltZy5pbWFnZVBpbiB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi5ib3R0b21CdXR0b24ge1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbiNhZHZhbmNlZFNlYXJjaFxue1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbn1cbiIsIi8vYnV0dG9uLnNsaWNrLXByZXYuc2xpY2stYXJyb3cge1xuLy8gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy99XG4vL2J1dHRvbi5zbGljay1uZXh0LnNsaWNrLWFycm93IHtcbi8vICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbi8vfVxuLy9cbi8vLnBheW1lbnRzQ2Fyb3VzZWwge1xuLy8gICAgYnV0dG9uLnNsaWNrLXByZXYuc2xpY2stYXJyb3cge1xuLy8gICAgICAgIGRpc3BsYXk6IHVuc2V0ICFpbXBvcnRhbnQ7XG4vLyAgICB9XG4vLyAgICBidXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4vLyAgICAgICAgZGlzcGxheTogdW5zZXQgIWltcG9ydGFudDtcbi8vICAgIH1cbi8vfVxuXG4uc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwOTUyOWIgIWltcG9ydGFudDtcbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cblxuXG4uc2xpY2stc2xpZGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uaXRlbURldGFpbCB7XG4gICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAubGVmdFBhbmVsIHtcbiAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIGludmFsaWQgY3NzIGJlbG93LiBjdXN0b20gdGFnIGRlZmluaXRpb24gaW5zdGVhZCBvZiBjbGFzc1xuLy8gc2xpY2stc2xpZGVyIHtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICB3aWR0aDogOTIlO1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAyJTtcbi8vICAgICAubGlzdGluZyB7XG4vLyAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbi8vICAgICB9XG4vLyAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4vLyAgICAgICAgIGltZyB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4vLyAgICAgICAgICAgICB3aWR0aDogYXV0bztcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuYnV0dG9uLnNsaWNrLW5leHQuc2xpY2stYXJyb3csIGJ1dHRvbi5zbGljay1wcmV2LnNsaWNrLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogY2FsYyg1MCUgLSA1cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTcwYTY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8vdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgLnJlY2VudGx5QWRkZWRDYXJvdXNlbCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgIH1cbiAgICAucHVibGljQm9hcmRzQ2Fyb3VzZWwgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxufVxuXG5idXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAucmVjZW50bHlBZGRlZENhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkY1RjkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG5idXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4gICAgbGVmdDogMDtcblxuICAgIC5yZWNlbnRseUFkZGVkQ2Fyb3VzZWwgJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUY5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb2xvcjogIzA5NTI5YiAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnB1YmxpY0JvYXJkc0Nhcm91c2VsICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbn1cblxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uaXRlbURldGFpbCwgLnBheW1lbnRzIHtcbiAgICBidXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBidXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG59XG5cbi5wYXltZW50cyB7XG4gICAgLnBheW1lbnRzQ2Fyb3VzZWwge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHggNDBweCA0MHB4O1xuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgYnV0dG9uLnNsaWNrLW5leHQuc2xpY2stYXJyb3cge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG4gICAgLnBheW1lbnRzIHtcbiAgICAgICAgLnBheW1lbnRzQ2Fyb3VzZWwge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgICAgIHRvcDogMzIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1uZXh0LnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICB0b3A6IDMyMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwibmF2IHtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1tYXJnaW47XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBoZWlnaHQ6IDcwcHg7XG5cblxuICAgICYubmF2YmFyLS1maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIC8vIHB1c2ggYW55IHNpYmxpbmcgZG93biB0aGUgcGFnZVxuICAgICAgICArICoge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxvZ2luUmVnaXN0ZXIge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgYS5uYXZiYXItYnJhbmQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkubmF2LWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzUwcHg7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi8vQG1lZGlhIChtYXgtd2lkdGg6IDExMjVweCkge1xuLy8gICAgLm5hdmJhciB7XG4vLyAgICAgICAgcGFkZGluZzogMCA0JTtcbi8vICAgIH1cbi8vfVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5uYXZiYXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogNTlweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNDcpIDBweCA3cHggNXB4O1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGkuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmxpbmtzQmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAzMHB4IDglO1xufVxuXG4ubGlua0NvbHVtbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGg2IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLnNvY2lhbE1lZGlhSWNvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpbmtMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgcGFkZGluZzogMTBweCA4JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZmO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGg1IHtcbiAgICAgICAgZmxleC1iYXNpczogODAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5mbG9hdFJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4uc3Ryb25nVGV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzI1cHgpIHtcbiAgICAubGlua3NCbG9jayB7XG4gICAgICAgIG1hcmdpbjogMCA0JTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLmxpbmtDb2x1bW4ge1xuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5rTGlzdCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWxNZWRpYUljb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIGZvb3RlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDIwcHggOCU7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAuZmxvYXRSaWdodCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xufVxuXG4uc3dpdGNoIGlucHV0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbn1cblxuLnNsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC40cztcbiAgICB0cmFuc2l0aW9uOiAuNHM7XG59XG5cbi5zbGlkZXI6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGVmdDogMXB4O1xuICAgIGJvdHRvbTogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xuICAgIHRyYW5zaXRpb246IC40cztcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xufVxuXG5pbnB1dDpmb2N1cyArIC5zbGlkZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggJGxpZ2h0LWJsdWU7XG59XG5cbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTJweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMnB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTJweCk7XG59XG5cbi8qIFJvdW5kZWQgc2xpZGVycyAqL1xuLnNsaWRlci5yb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMzRweDtcbn1cblxuLnNsaWRlci5yb3VuZDpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbiIsIi5kcm9wZG93blN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG59XG5cbi5kcm9wZG93blN3aXRjaCBpbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi5kcm9wZG93blRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi5kcm9wZG93blRvZ2dsZTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDVweDtcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIC5kcm9wZG93blRvZ2dsZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG59XG5cbmlucHV0OmZvY3VzICsgLmRyb3Bkb3duVG9nZ2xlOmJlZm9yZSB7XG4gICAgY29sb3I6ICRsaWdodC1ibHVlO1xufVxuXG5pbnB1dDpjaGVja2VkICsgLmRyb3Bkb3duVG9nZ2xlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggOCUgMCA4JTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggNCUgMCA0JTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyTWVzc2FnZSB7XG4gICAgICAgICAgICAuanVtYm90cm9uSGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5qdW1ib3Ryb25EZXRhaWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb2JpbGVEZXRhaWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCA2MHB4IDA7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIEludGVybmV0IEV4cGxvcmVyIDEwLTExICovXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggMCAwIDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjhweCAyOHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0V3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0UmlnaHQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJveFRleHQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmp1bWJvQm90dG9tIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAuc29jaWFsTWVkaWFJY29ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIC5mYWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3RoZW1lVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGFiZWw6bm90KC5zd2l0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLmp1bWJvdHJvbiB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLmNvbnRhaW5lck1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIC5qdW1ib3Ryb25IZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZy5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLmp1bWJvdHJvbiB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaWNvblJpZ2h0U2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mYS1jYXJldC1kb3duIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWNlbnRseUFkZGVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDglIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgIC50b3BJbmZvIHtcbiAgICAgICAgaGVpZ2h0OiAxMjZweDtcbiAgICAgICAgLmFsbEFkcyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTI2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlY2VudGx5QWRkZWRNYXJrZXIsXG4gICAgLnJlY2VudGx5QWRkZWRMb2NhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLndyYXBwZXIuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDk1MjliICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmLmhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nIHtcbiAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5QWRkZWQge1xuICAgICAgICBtYXJnaW46ICRkZWZhdWx0LW1vYmlsZS1tYXJnaW47XG4gICAgICAgIC5oaWRlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVjZW50bHlPcGVuZWRMaXN0aW5ncyB7XG4gICAgcGFkZGluZzogMCA4JTtcbiAgICAud3JhcHBlciB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zJSAtIDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgLnJlY2VudGx5T3BlbmVkTGlzdGluZ3Mge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5T3BlbmVkTGlzdGluZ3Mge1xuICAgICAgICBwYWRkaW5nOiAwIDQlO1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYwJSA1cHggNXB4O1xuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMnB4IDEycHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdJbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYXltZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTBweCAkZGVmYXVsdC1tYXJnaW4gJGRlZmF1bHQtbWFyZ2luO1xuICAgIC5wYXltZW50SW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweCAwIDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICBhICB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXltZW50c0Nhcm91c2VsIHtcbiAgICAgICAgLnBheW1lbnRPcHRpb24ge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDAgOHB4ICRkZWZhdWx0X2JveF9zaGFkb3dfY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm9wdGlvbkluZm8ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3B0aW9uUHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5zZWxlY3RlZE9wdGlvbiB7XG4gICAgb3V0bGluZTogYXV0byAzcHggJGxpZ2h0LWJsdWU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTEwcHgpIHtcbiAgICAucGF5bWVudHMge1xuICAgICAgICAucGF5bWVudEluZm8ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucGF5bWVudHMge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGF5bWVudHNDYXJvdXNlbCB7XG4gICAgICAgICAgICAucGF5bWVudE9wdGlvbiB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICAgICAgLm9wdGlvbkhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5vcHRpb25JbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3B0aW9uUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5zdW1tYXJ5QmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLm9wdGlvblN1bW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLml0ZW1TdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAuY29udGFjdFN1bW1hcnkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcbiAgICAgICAgICAgIC5jb250YWN0SGVhZGluZ3Mge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAuaXRlbUhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRhY3REZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgLmRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGlzdGluZ1N1bW1hcnkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDglO1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAubGlzdGluZ0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMzclO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDAgMCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAub3B0aW9uRGV0YWlscyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25EZXRhaWxQcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1sYXJnZS1mb250LXNpemU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGF5bWVudE1ldGhvZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC5tZXRob2RTTVMsIC5tZXRob2RDYXJkIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1ldGhvZENhcmQge1xuICAgICAgICAgICAgLmNhcmRJbmZvIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwIDAgMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgMjVweDtcbiAgICAgICAgICAgICAgICBpLmNhcmRPcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFtpZD1zbXNQYXltZW50XSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgI2NjUGF5bWVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4ODBweCkge1xuICAgIC5zdW1tYXJ5QmxvY2sge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXJnaW46IDAgMTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgLnN1bW1hcnlCbG9jayB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgIC5zdW1tYXJ5QmxvY2sge1xuICAgICAgICB3aWR0aDogOTIlO1xuICAgICAgICBtYXJnaW46IDAgNCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjEwcHgpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDk2JTtcbiAgICAgICAgbWFyZ2luOiAwIDIlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAuc3VtbWFyeUJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDg4JTtcbiAgICAgICAgbWFyZ2luOiAwIDYlIDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uU3VtbWFyeSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBhLmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW1TdW1tYXJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAuY29udGFjdFN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1N1bW1hcnkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbkRldGFpbHMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5vcHRpb25EZXRhaWxQcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXltZW50TWV0aG9kIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkSW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZXRob2RTTVMge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWV0aG9kQ2FyZCB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLml0ZW1EZXRhaWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICB9XG4gICAgLmJhY2sge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtRGV0YWlsQ29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZzogNCUgNCUgMiU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgLml0ZW1QaW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDQlO1xuICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4ICRkZWZhdWx0X2JveF9zaGFkb3dfY29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTdweCAxN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbWFsbFRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0UGFuZWwge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNCUpO1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgLml0ZW1HYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHggMTJweCAyMHB4IDEycHg7XG4gICAgICAgICAgICAgICAgLml0ZW1DYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNwaW5uZXJXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgI3NwaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5zbGljay1uZXh0LnNsaWNrLWFycm93LCBidXR0b24uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBidXR0b24uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWxOYXYge1xuICAgICAgICAgICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC00NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudG9wSXRlbVN0aWNrZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW1DYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucmVzcG9uc2l2ZUNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7IC8vIDE2OjkgYXNwZWN0IHJhdGlvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudmlkZW8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmEtYW5nbGUtcmlnaHQsIC5mYS1hbmdsZS1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sb2NhdGlvbkluZm8ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nb29nbGVNYXBMb2NhdGlvbnMgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pdGVtTW9iaWxlUGFuZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHRQYW5lbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAuaXRlbVRpdGxlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nb29nbGVNYXBMb2NhdGlvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250YWN0TGlzdGluZ3Mge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjU1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWxsZXJCdXR0b25Sb3csXG4gICAgLnNlbGxlckJ1dHRvblJvd1Jlc3BvbnNpdmUge1xuICAgICAgICBhLmJ1dHRvbi50aGlyZFBhcnR5TGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3MEE2O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NSU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1ODZCRjtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlbGxlckJ1dHRvblJvd1Jlc3BvbnNpdmUge1xuICAgICAgICBhLmJ1dHRvbi50aGlyZFBhcnR5TGluayB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2ltaWxhckFkcyB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDEwcHggMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVjZW50bHlPcGVuZWRMaXN0aW5ncyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgfVxuICAgIC5yZWNvbW1lbmRlZExpc3RpbmdzIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxpbmtzQmxvY2sge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICAubGlua3NCbG9ja0xpbmsge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NSU7XG4gICAgICAgICAgICAucmVwb3J0SXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MjVweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDEwcHggMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmFubmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ0cHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXRlbUluZm8ge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbn1cblxuLnN1YmhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cblxuLnByaWNlRGV0YWlsIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGNvbG9yOiAkbGlnaHQtZm9udC1jb2xvcjtcbn1cblxuLnNhbGVBY3RpdmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnNhbGVJY29uIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5pdGVtRGV0YWlsc1dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmJyYW5kV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgLmJyYW5kSGVhZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnJhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb25kaXRpb25XcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC5jb25kaXRpb25IZWFkaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuY29uZGl0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsbGVyV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI0VGRjVGOTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgLnNlbGxlckhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIC5zZWxsZXJOYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgLmRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGxlclBob25lTnVtYmVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTFCQjU1O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjA1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC02MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGxlckJ1dHRvblJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlOztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUY5O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI0VGRjVGOSwgNSUpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGk6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBociB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICAmPiBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5pdGVtRmxhZ2dlZCB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5pdGVtRGV0YWlsIHtcbiAgICAgICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAgICAgLnJpZ2h0UGFuZWwge1xuICAgICAgICAgICAgICAgIC5jb250YWN0TGlzdGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLml0ZW1EZXRhaWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuYmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5saW5rc0Jsb2NrIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAubGlua3NCbG9ja0xpbmsge1xuICAgICAgICAgICAgICAgIC5yZXBvcnRJdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW1EZXRhaWxDb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIC5sZWZ0UGFuZWwsIC5yaWdodFBhbmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pdGVtQ2Fyb3VzZWxOYXYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2VsbGVyV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYlO1xuICAgICAgICAgICAgICAgICAgICAucGluQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwIDAgMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDE2cHggKyA0JSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1sYXJnZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhLmNvbnRhY3RCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYS5jb250YWN0QnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2NvcHlOdW1iZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICNvcGVuTWFpbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI3doYXRzYXBwTWVzc2FnZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW1Nb2JpbGVQYW5lbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLmxlZnRQYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2dvb2dsZU1hcDIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTI0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZ29vZ2xlTWFwTG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtbGFyZ2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaW1pbGFyQWRzIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDYlIDA7XG4gICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIC8vIExvb2sgYXQgbWFraW5nIHRoZXNlIHZhbHVlcyBnbG9iYWwgZm9yIGxpc3RpbmdzIGFsbCByb3VuZCFcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAubm9Mb2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWNlbnRseU9wZW5lZExpc3RpbmdzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNiUgMjBweDtcbiAgICAgICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDUlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJldmVydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJlY29tbWVuZGVkTGlzdGluZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLnRvb2x0aXAgPiAudG9vbHRpcC1pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cbi50b29sdGlwLnRvcCA+IC50b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGxpZ2h0LWJsdWU7XG59XG5cbi5yZWNlbnRseUFkZGVkIHtcbiAgICAudG9vbHRpcCA+IC50b29sdGlwLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMjBweDtcbiAgICB9XG4gICAgLnRvb2x0aXAudG9wID4gLnRvb2x0aXAtYXJyb3cge1xuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbn1cblxuIiwiLmthdGVnb3JpZXMge1xuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgLmludGVyZXN0c1NldHVwIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLmthdGVnb3JpZXMge1xuICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1tb2JpbGUtcGFkZGluZztcbiAgICB9XG59XG4iLCIuc2ltaWxhckFkcyB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAuc2ltaWxhckFkcyB7XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5saXN0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yO1xuICAgIH1cbiAgICBidXR0b246bm90KC50b3BBZEJ1dHRvbikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDE1cHggMTVweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICAubGlzdGluZ0xvY2F0aW9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3RpbmdJbmZvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmFkSXRlbVN0aWNrZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OjIycHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxNnB4IDJweCAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHNtYWxsLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHNtYWxsLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3BJdGVtU3RpY2tlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBpblRvQm9hcmQge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXRlbURldGFpbExpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cblxuXG5cbi5hZGRMaXN0aW5nIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgY29sb3I6IGJsdWU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMHB4ICMwMDAwMDAzMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG59XG5cbi5hZGRMaXN0aW5nOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xufVxuXG4udG9wSXRlbVJpYmJvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMjdweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogY2FsYygxMDAlIC0gMjdweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDNlNmZiZDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAudG9wSXRlbURldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAudG9wSXRlbURldGFpbCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGF0dXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBpIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLmxpc3Rpbmc6bm90KC5pZ25vcmVCcmVha3BvaW50cykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIC5saXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNDAlICsgMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuMmVtO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEycHggMTJweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRvcDogNjlweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDAgMCAxMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGluVG9Cb2FyZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWRJdGVtU3RpY2tlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0cHggMHB4IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgLmxpc3Rpbmc6bm90KC5pZ25vcmVCcmVha3BvaW50cykge1xuICAgICAgICAvL2hlaWdodDogMTkwcHg7XG4gICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzg1cHgpIHtcbiAgICAubGlzdGluZzpub3QoLmlnbm9yZUJyZWFrcG9pbnRzKSB7XG4gICAgICAgIC8vaGVpZ2h0OiAxODBweDtcbiAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzQwcHgpIHtcbiAgICAubGlzdGluZzpub3QoLmlnbm9yZUJyZWFrcG9pbnRzKSB7XG4gICAgICAgIC8vaGVpZ2h0OiAxNzBweDtcbiAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRvcEthdGVnb3JpZSB7XG4gICAgcGFkZGluZzogJGRlZmF1bHQtbWFyZ2luO1xuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZzogNDRweCAwIDM0cHggMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud3JhcHBlciB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b3BLYXRlZ29yaWVIciB7XG4gICAgbWFyZ2luOiAwIDglO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC50b3BLYXRlZ29yaWUge1xuICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1tb2JpbGUtcGFkZGluZztcbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuXG4gICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIua2F0ZWdvcmllc09mSW50ZXJlc3Qge1xuICAgIHBhZGRpbmc6IDAgOCUgMjBweDtcbiAgICAua2F0ZWdvcmllQ29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAua2F0ZWdvcmllc09mSW50ZXJlc3Qge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQlO1xuICAgIH1cbn1cbiIsIi5rYXRlZ29yaWUge1xuICAgIGZsZXgtYmFzaXM6IDE5JTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC5rYXRlZ29yaWVJbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmltZ092ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDhhO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAua2F0ZWdvcmllTGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTglO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5rYXRlZ29yaWUge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDEwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgLmthdGVnb3JpZUltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rYXRlZ29yaWVMYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA0NTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVjb21tZW5kZWRMaXN0aW5ncyB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NTJweCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgLy93aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg1MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg1MnB4KSB7XG4gICAgLnJlY29tbWVuZGVkTGlzdGluZ3Mge1xuICAgICAgICAud3JhcHBlcjpub3QoLmNhcm91c2VsKSB7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICAubGlzdGluZ0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDQwJSArIDE1cHgpO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubm9Mb2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGlkZURlc2t0b3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MTVweCkge1xuICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgbWFyZ2luOiAwIDQlO1xuICAgIH1cbn1cbiIsIi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogRmlyZWZveCAqL1xuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLnNlYXJjaFJlc3VsdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAuZmlsdGVyUGFuZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWFkdmFuY2VkLXNlYXJjaC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICAgICAgbWluLXdpZHRoOiAyNzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1pbmxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQlO1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMjFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbDpub3Qoc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0V3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4IDAgMCAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRSaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjhweCAyOHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0UmlnaHQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYm94VGV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDExcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygoMTAwJSAtIDM1cHgpIC8gMik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZpbHRlclBhbmVsLmhpZGVNb2JpbGUge1xuICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kaXN0YW5jZUlucHV0IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wdWJsaWNCb2FyZHMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDUlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RDRUJGMjtcbiAgICAgICAgLmJvYXJkIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzBweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHggMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cHggNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYm9hcmRJbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVzdWx0cyB7XG4gICAgLy8gZmxleC1iYXNpczogODAlOyBjb21tZW50aW5nIG91dC4gZXhwZXJpbWVudGFsIGZpeCBmb3IgQVYtMTQwIHBhZ2luYXRpb24gZml4ZXNcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4JTtcbiAgICB9XG4gICAgLnNvcnRCeSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMzLjMlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogNjglO1xuICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRpc3RhbmNlSW5wdXQge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMHB4OyBcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDAgIzAwMDAwMDJiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmW2lkPWRlY3JlbWVudEJ0bl0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJltpZD1pbmNyZW1lbnRCdG5dIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIycHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgYS5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdpbmF0aW9uLmhpZGVNb2JpbGUge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgLy9oZWlnaHQ6IDgwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgLy8gVGhpcyBtYXJnaW4gY291bGQgYmUgbW9yZSBhcHByb3ByaWF0ZSBnbG9iYWxseSBmb3IgbGlzdGluZ3MhXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEzMHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgIC5zZWFyY2hSZXN1bHRzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgLmZpbHRlckJhciwgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2luYXRpb24uaGlkZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwUFggMCAwIDAgO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzNSU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICMwMDAwMDA0MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGlzdGFuY2VJbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIC5kaXN0YW5jZUlucHV0LCAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnB1YmxpY0JvYXJkcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWR2YW5jZWRTZWFyY2hNZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgLmFkdmFuY2VkU2VhcmNoTGluayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgI2FkdmFuY2VkU2VhcmNoIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggOCU7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nLmljb25MZWZ0LmxvY2F0aW9uSWNvbiB7XG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaS5pY29uTGVmdCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDI2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpLmljb25MZWZ0Lmljb25MZWZ0U2VhcmNoIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tZ3JvdXAuanVtYm9JbnB1dHMuY29zdCB7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dFdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0V3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dExlZnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwIDAgMjhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0UmlnaHQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAyOHB4IDI4cHggMDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0OmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYm94VGV4dCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjZGlzY291bnRUb2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgc3Bhbi5zbGlkZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjYWR2YW5jZWRTZWFyY2hMaW5rQ2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMTdweCAwO1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJpem5pcy1pdGVtcyB7XG4gICAgLmxpc3Rpbmcge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDIwcHgpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEzMHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgIC5zZWFyY2hSZXN1bHRzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAuZmlsdGVyQmFyLCAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA0JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSB7XG4gICAgLnNlYXJjaFJlc3VsdHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwUFggMCAwIDAgO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzNSU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICMwMDAwMDA0MDtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGlzdGFuY2VJbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIC5kaXN0YW5jZUlucHV0LCAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkdmFuY2VkU2VhcmNoTWVudSB7XG4gICAgICAgICNhZHZhbmNlZFNlYXJjaCB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cC5qdW1ib0lucHV0cyB7XG4gICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlc3VsdHMge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1JTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBpbWc6bm90KC5pbWFnZVBpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2NyU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdQcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZHZhbmNlZFNlYXJjaE1lbnUge1xuICAgICAgICAuYWR2YW5jZWRTZWFyY2hMaW5rIHtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI2FkdmFuY2VkU2VhcmNoIHtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmp1bWJvSW5wdXRzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaS5pY29uTGVmdC5pY29uTGVmdFNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLmljb25MZWZ0LmxvY2F0aW9uSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmp1bWJvSW5wdXRzLmNvc3Qge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggMCAwIDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAyOHB4IDI4cHggMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJpem5pcy1pdGVtcyB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWdpc3RyYXRpb24ge1xuICAgIHBhZGRpbmc6IDAgOCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5ld0l0ZW1SZWdpc3RyYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHdpZHRoOiA3NCU7XG4gICAgICAgIG1hcmdpbjogMCAxMyUgMjBweDtcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDI5cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kb2Ige1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXRzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbFJlZ2lzdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEzJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zbXNWZXJpZmljYXRpb25Gb3JtIHtcbiAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMjUlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VuZE5ld1NNUyB7XG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDI1JTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJj4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgICAgLm5ld1NNUyB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA3NXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld0l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA4JTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYxcHgpO1xuICAgIC5hZG1pblBhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgICAgIG1pbi13aWR0aDogMjcwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0JTtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDExJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxOTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLmZhLXlvdXR1YmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2NhdGlvbklucHV0T3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbC53SWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbC5hZGRJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIC51cGxvYWRMaXN0aW5nSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC51cGxvYWRlZEltYWdlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnVwbG9hZGVkSW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1vdmVVcGxvYWRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAjZmlsZUlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gY29udGV4dHVhbCBvdmVycmlkZSBmb3IgZm9ybXNcbiAgICAgICAgICAgICAgICAuZmFuY3lEcm9wZG93bi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcblxuICAgICAgICAgICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxvY2F0aW9uTGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dEdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggIzg4ODg4ODJFO1xuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAuZ2RwciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tZ3JvdXAuZ2RwclJpZ2h0e1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6aW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNhdmVEcmFmdCB7XG4gICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudmlld1BhbmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgZmxleC1iYXNpczogNzUlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAubGlzdGluZ1BhbmVscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLmxlZnRQYW5lbCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNCU7XG4gICAgICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAjcHJldmlld0ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNnb29nbGVNYXAge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodFBhbmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAuaXRlbUluZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uZGV0YWlsIGltZyB7XG4gICAgd2lkdGg6IDI1cHg7XG59XG4jY2F0ZWdvcnlGaWVsZHNQcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDVweCkge1xuICAgIC5yZWdpc3RyYXRpb24ge1xuICAgICAgICAubmV3SXRlbVJlZ2lzdHJhdGlvbiB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXRzIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsUmVnaXN0ZXIge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgLnJlZ2lzdHJhdGlvbiB7XG4gICAgICAgIC5uZXdJdGVtUmVnaXN0cmF0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA4NCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgOCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgLm5ld0l0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5uZXdJdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLmFkbWluUGFuZWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIC5mb3JtLWlubGluZSB7XG4gICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGkuZmEteW91dHViZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGkuaWNvblJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgICAgICAgICAgICAgLmZhbmN5RHJvcGRvd24td3JhcHBlciwgLnBob25lTnVtYmVySW5wdXRHcm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cC5nZHByIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudmlld1BhbmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZ2lzdHJhdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgNCU7XG4gICAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAubmV3SXRlbVJlZ2lzdHJhdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNkYXRlT2ZCaXJ0aElucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc29jaWFsUmVnaXN0ZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VuZE5ld1NNUywgLnNtc1ZlcmlmaWNhdGlvbkZvcm0ge1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MiU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgIC5uZXdJdGVtICNpdGVtRm9ybSAuY2F0ZWdvcnktYWxlcnQsXG4gICAgLm5ld0l0ZW0gI2l0ZW1Gb3JtIC5mb3JtLXN1Ym1pdFxuICAgIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICB9XG59XG4iLCIuZXJyb3ItcGFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDd2aDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0dmg7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0dmg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29kZSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrLWxpbmsge1xuICAgICAgICBAZXh0ZW5kICVnZW5lcmljQnV0dG9uO1xuICAgICAgICBtYXJnaW4tdG9wOiA2dmg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXZoO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnRvcEthdGVnb3JpZSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxufVxuXG4ua2F0ZWdvcmllcyB7XG4gICAgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGluZyB7XG4gICAgcGFkZGluZzogMzRweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIH1cbn1cblxuLmthdGVnb3JpZXNPZkludGVyZXN0LCAua2F0ZWdvcmllcyB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiA0NHB4IDAgMzRweCAwO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAua2F0ZWdvcmllcyB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ0cHggMCAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLnJlY2VudGx5QWRkZWQsIC50b3BLYXRlZ29yaWUge1xuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvZ2luUmVnaXN0ZXIge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWFyZ2luOiA2MHB4IDMwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94X3NoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gICAgLnJlZ2lzdHJhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MGVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIH1cblxuICAgIC5uYXYtdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC5uYXYtaXRlbTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYi1jb250ZW50IHtcbiAgICAgICAgLnRhYi1wYW5lLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIC50YWItcGFuZSB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2Zvcm1fdG9rZW4ge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIGlucHV0LCAuZm9ybS1ncm91cCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDUlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5waG9uZU51bWJlcklucHV0R3JvdXAge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4ICM4ODg4ODgyRTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQ6Zm9jdXMsIHNlbGVjdDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCAkbGlnaHQtYmx1ZS1hY3RpdmU7XG4gICAgICAgICAgICAgICAgJisgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGFzc0lucHV0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgLy9pIHtcbiAgICAgICAgICAgICAgICAvLyAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy8gICAgYm90dG9tOiAyMXB4O1xuICAgICAgICAgICAgICAgIC8vICAgIHJpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgICAgIC8vICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kb2Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG4gICAgICAgIC5sb2dpbkJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggY2FsYyg1MCUgLSA2NXB4KSA2MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAxMCU7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG5cbiAgICAgICAgICAgICYuY2xlYW5SdWxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGhyOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdhbGVibyc7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC0xNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjayB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgbGFiZWwge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3hfc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc29jaWFsUmVnaXN0ZXIge1xuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICB9XG59XG5cbi5nb29nbGVMb2dpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNDQzNztcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luOiAxMHB4IGNhbGMoNTAlIC0gMTAwcHgpO1xuICAgIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG59XG4uZ29vZ2xlTG9naW4ubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ29vZ2xlTG9naW46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYjM0MmI7XG59XG5cbi5mYkxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDEwcHggY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzNTBweCkge1xuICAgIC5sb2dpblJlZ2lzdGVyIHtcbiAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDE0JVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY3NXB4KSB7XG4gICAgLmxvZ2luUmVnaXN0ZXIge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW46IDIwcHggMjAlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAubG9naW5SZWdpc3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIC5uYXYtdGFicyB7XG4gICAgICAgICAgICAubmF2LWl0ZW0ge1xuICAgICAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUY5RkU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5hdi1saW5rOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IzYjNiMzI0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICAgICAgLnRhYi1wYW5lIHtcbiAgICAgICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNvY2lhbFJlZ2lzdGVyIHtcbiAgICAgICAgICAgICAgICBidXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBjYWxjKDUwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlZ2lzdGVyVHlwZVNlbGVjdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMTVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnJlZ2lzdGVyVHlwZVNlbGVjdGlvbiB7XG4gICAgd2lkdGg6IDEyMnB4O1xuICAgIG1heC13aWR0aDogNDUlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc21hbGwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgICBmaWxsOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1c2luZXNzUHJvZmlsZVR5cGVTZWxlY3Rpb24ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMCBhdXRvO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbi5idXNpbmVzc1Byb2ZpbGVUeXBlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDAgOHB4ICM4ODg4ODgyRTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcIm1kXCIpKSB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlVHlwZUZvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAub3B0aW9uUHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZVR5cGVIZWFkZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb21vVGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbXBhbnlSZWdpc3RyYXRpb25Db21wYXJlIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDEwcHggYXV0bztcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAxMHB4IGF1dG87XG4gICAgfVxufVxuXG4uY29tcGFueVJlZ2lzdHJhdGlvblNwZWNzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgID4gaHIuY2xlYW5SdWxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIC5jb21wYW55UmVnaXN0cmF0aW9uQ29tcGFyZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4iLCIjZ29vZ2xlTWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgPiBkaXYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbn1cbi5nb29nbGVNYXBMb2NhdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgb3JkZXI6IDM7XG4gICAgYSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZlTG9jYXRpb24ge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgfVxufVxuXG4uZ29vZ2xlTG9jYXRpb24ge1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4iLCJodG1sLCBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICA6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi5pY29uUmlnaHQsIC5pY29uTGVmdCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zdHJvbmdCbHVlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbn1cblxuLnN0cm9uZ0JsayB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zb2Z0VGV4dCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG4uYmxrTGluayB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWUtYWN0aXZlO1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDIwcHggNCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy9ib3R0b206IDIxcHg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvL2JvdHRvbTogMTVweDtcbiAgICAgICAgcmlnaHQ6IDM0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgZGl2W2lkPVwibG9jYXRpb25Qb3BvdmVyXCJdICYge1xuICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhyLmFsZWJvSHIge1xuICAgIGhlaWdodDogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNDBweCAwO1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cbmhyLmFsZWJvSHI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdhbGVibyc7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG59XG5cbi5kaXNhYmxlZEJjIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4jZGlzY291bnRUb2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGxhYmVsLnN3aXRjaCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG5cbi5ib3hUZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAzOXB4O1xuICAgIGJvdHRvbTogMTFweDtcbiAgICBsZWZ0OiBjYWxjKCgxMDAlIC0gMTVweCkgLyAyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgei1pbmRleDogMztcbn1cblxuLm1haW5WaWV3IHtcbiAgICBoZWlnaHQ6IDgydmg7XG4gICAgLmZpbHRlclBhbmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3B0R3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyB0aGlzIGlzIGN1c3RvbSBkcm9wZG93biBhY2NvcmRpbmcgdG8gZGVzaWduLlxuLy8gdGhpcyBwYXR0ZXJuIGNhbiBiZSBleHRyYWN0ZWQgYW5kIHJldXNlZCBIT1dFVkVSIGl0IG1pZ2h0IGJlIGJldHRlciB0byBpbnZlc3RpZ2F0ZSBhIHJldXNlIG9mIGJ1aWx0LWluIGJvb3RzdHJhcCBkcm9wZG93blxuLmZhbmN5RHJvcGRvd24ge1xuICAgIGxhYmVsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cbi5mYW5jeURyb3Bkb3duLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZhbmN5SW5wdXQge1xuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uZmFuY3lEcm9wZG93bkxpc3QsXG4ubG9jYXRpb25MaXN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0X2JveF9zaGFkb3dfbm9fdG9wO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmT3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zZWFyY2hSZXN1bHRzICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB9XG5cbiAgICAmLS1zZWFyY2hNb2JpbGUge1xuICAgICAgICB3aWR0aDogODQlXG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1kYXJrLWdyYXktY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZS1hY3RpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gYWRkaW5nIGNsYXNzIHRvIGlucHVcbi5sb2NhdGlvbklucHV0T3Blbixcbi5mYW5jeUlucHV0T3BlbiB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLy9Gb250IFNpemVzXG5hLCBwLCBzcGFuLCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIGEsIHAsIHNwYW4sIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG59XG5cbnNwYW4uc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbm9wdGlvbjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG5zZWxlY3Qgb3B0aW9uIFtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cblxuc2VsZWN0OmludmFsaWQge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbn1cblxuYS51bmRlcmxpbmUge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYnV0dG9uOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZGFyay1ncmF5LWNvbG9yO1xufVxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICBhLCBwLCBzcGFuLCBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplLW1vYmlsZTtcbiAgICB9XG59XG5cbi8vIE1vYmlsZSArIERlc2t0b3AgdmlzaWJpbGl0eVxuLmhpZGVNb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgIC5zZWFyY2hSZXN1bHRzIHtcbiAgICAgICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MzBweCkge1xuICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgLmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucmVjZW50bHlBZGRlZCB7XG4gICAgICAgIC5oaWRlTW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGVEZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaGlkZU1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsImlucHV0LmZvcm0tY29udHJvbCwgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LWJveF9zaGFkb3c7XG59XG5cbi5tb2RhbCB7XG4gICAgaW5wdXQuZm9ybS1jb250cm9sLCBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDZweCAxcHggIzg4ODg4ODJFO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94X3NoYWRvdztcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwIGkuZmEtZXllIHtcbiAgICBjb2xvcjogYmxhY2s7XG59XG4uZm9ybS1ncm91cCBpLmZhLWV5ZS1zbGFzaCB7XG4gICAgY29sb3I6ICRsaWdodC1ncmF5LWNvbG9yO1xufVxuXG4uZm9ybS1jaGVjay5nZHByIHtcbiAgICBtYXJnaW46IDMwcHggMCAyMHB4O1xuICAgIGxhYmVsIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG5zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgICYuZm9ybS1jb250cm9sLS1uby1pY29uIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtOyBcbiAgICB9XG59XG5cblxuIiwiLmJvYXJkVmlldyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgLnJlc3VsdHMge1xuICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMCA5JTtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDcwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhpZGVCYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29udGV4dHVhbCBvdmVycmlkZXNcbiAgICAgICAgICAgIC5mYW5jeURyb3Bkb3duLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjglO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgbGVmdDogMzUlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyAuZGlzdGFuY2VJbnB1dCB7XG4gICAgICAgIC8vICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xuICAgICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgLy8gICAgIGxhYmVsIHtcbiAgICAgICAgLy8gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgLy8gICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgc3BhbiB7XG4gICAgICAgIC8vICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLy8gICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvLyAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAvLyAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAvLyAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMCAjMDAwMDAwMmI7XG4gICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAvLyAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICAgIGlucHV0IHtcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgLy8gICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIC8vICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDI0cHg7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA4JSA0MHB4O1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgbWFyZ2luIGNvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUgZ2xvYmFsbHkgZm9yIGxpc3RpbmdzIVxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDglIDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnJlY29tbWVuZGVkTGlzdGluZ3Mge1xuICAgICAgICAgICAgLnJlY2VudGx5QWRkZWQge1xuICAgICAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVkaXRNb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5MHB4KSB7XG4gICAgICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib2FyZFZpZXcge1xuICAgIC5yZWNvbW1lbmRlZExpc3RpbmdzIHtcbiAgICAgICAgLnJlY2VudGx5QWRkZWQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQlIDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5lZGl0RmlsdGVyQmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAubW92ZUJ1dHRvbiwgLmRlYWN0aXZhdGVCdXR0b24sIC50b3BTZWxlY3RlZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kZWxldGVCdXR0b24ge1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTExcHgpIHtcbiAgICAgICAgLmRlbGV0ZUJ1dHRvbiB7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tb3ZlQnV0dG9uIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpc3Rpbmc6bm90KC5kZWFjdGl2YXRlZExpc3RpbmcpIHtcbiAgICAuaW1nT3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOGE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTBweCkge1xuICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNSU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEyNXB4KSB7XG4gICAgLmVkaXRGaWx0ZXJCYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5ib2FyZFZpZXcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUlO1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDY1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0JSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODI1cHgpIHtcbiAgICAuYm9hcmRWaWV3IHtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgLmFkdmFuY2VkU2VhcmNoTWVudSB7XG4gICAgICAgICAgICAgICAgI2FkdmFuY2VkU2VhcmNoTGluayB7XG4gICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmJvYXJkVmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5yZXN1bHRzIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVEZXNrdG9wLCAub3B0aW9uTmV3LmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAuZWRpdEZpbHRlckJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1vdmVCdXR0b24sIC5kZWFjdGl2YXRlQnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ib2FyZFZpZXcge1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQlO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBoMSwgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4NCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5pdGVtRGV0YWlsTGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjglO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm9Mb2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXREZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXRNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXRNb2JpbGUuYmFja0J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBvcmRlcjogM1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1vZGFsIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIGJ1dHRvbi5jbG9zZU1vZGFsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAubW9kYWwtdGl0bGU6bm90KC5tdHNjKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwLjc1cmVtIDQwcHg7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm10c2Mge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuI25ld0JvYXJkIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbW92ZUl0ZW1zLCAjYWRkQm9hcmRJdGVtIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2RlbGV0ZUJvYXJkLCAjZGVsZXRlRmlsdGVyLCAjZGVsZXRlQWQsICNkZWxldGVTYXZlZEZpbHRlciwgI3JlbmFtZUJvYXJkLCAjcmVtb3ZlSXRlbXMsICNkZWFjdGl2YXRlSXRlbXMsICNkZWxldGVJdGVtcyB7XG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNpbWFnZUZ1bGxWaWV3Q29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA1MDtcbn1cblxuI2ltYWdlRnVsbFZpZXcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxlZnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgLm1vZGFsLWltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNnJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNsb3NlTW9kYWwge1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogOTJ2dztcbiAgICAgICAgLmdhbGxlcnlDYXJvdXNlbCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgI21vdmVJdGVtcywgI2FkZEJvYXJkSXRlbSB7XG4gICAgICAgIC5tb2RhbC1kaWFsb2cge1xuICAgICAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAmPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAub3B0aW9uTmV3LmhpZGVNb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC5zYXZlQ2F0ZWdvcnlNb2RhbCB7XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYlKTtcbiAgICAgICAgcGFkZGluZzogMjBweCA4JTtcbiAgICAgICAgLmNhdGVnb3J5RGQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDglO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDUyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwNTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1YkNhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLnN1YkNhdGVnb3J5IHtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgaDQubXRzYyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDM1cHggMCAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJvYXJkT3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxufVxuXG4uc2F2ZWRTZWFyY2hUaXRsZSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5mb290ZXJCdXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICA+IGRpdiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cbiIsIi5maWx0ZXJQYW5lbCwgLnByb2ZpbGVNZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMjAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgbWluLXdpZHRoOiAyNzBweDtcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb3JtLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDQlO1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE5OXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxOTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdF9ib3hfc2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgLmNvc3RJbnB1dFdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0V3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvc3RJbnB1dExlZnQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4IDAgMCAyOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRSaWdodCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIycHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjhweCAyOHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29zdElucHV0TGVmdDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3N0SW5wdXRSaWdodDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmZpbHRlclBhbmVsLmhpZGVNb2JpbGUge1xuICAgIC5zb3J0Qnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDY4JTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kaXN0YW5jZUlucHV0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9maWxlTWVudSB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgaDEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5jb21wYW55UHJvZmlsZSB7XG4gICAgLmZpbHRlclBhbmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1pbmxpbmUge1xuICAgICAgICAgICAgcGFkZGluZzogOCU7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBpLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaS5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHJvZmlsZVZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAuY29udGVudCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVkaXRGaWx0ZXJQYW5lbFRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFnaW5hdGlvbjpub3QoLmRlc2t0b3BPbmx5KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnRleHR1YWwgb3ZlcnJpZGVzXG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gaS5mYXMge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmFuY3lEcm9wZG93bi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgID4gaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZWRpdE1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5saXN0aW5nIHtcbiAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nRWRpdCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nVmlld3Mge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbjpub3QoLnN0YXR1cykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNzVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAucHJvZmlsZVZpZXcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0JSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gICAgLmZhdm91cml0ZUNhdGVnb3JpZXMge1xuICAgICAgICBtYXJnaW46IDAgNiU7XG4gICAgICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgLmZhdm91cml0ZVRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgLmZhdm91cml0ZVN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZmlsZVZpZXcgLmNvbnRlbnQgLnNvcnRCeSB7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgIC5wcm9maWxlVmlldyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgLnBhZ2luYXRpb24uZGVza3RvcE9ubHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZhdm91cml0ZUNhdGVnb3JpZXMge1xuICAgICAgICBtYXJnaW46IDAgNCU7XG4gICAgICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2NXB4KSB7XG4gICAgLnByb2ZpbGVWaWV3IC5hZFNldHRpbmdzIC5maWx0ZXJCYXIge1xuICAgICAgICBmbGV4LXdyYXA6IGluaXRpYWw7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAuZmF2b3VyaXRlQ2F0ZWdvcmllcyB7XG4gICAgICAgIGhlaWdodDogODQlO1xuICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogODglO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyNXB4KSB7XG4gICAgLmdvb2dsZUxvZ2luLm1vYmlsZSwgLmZiTG9naW4ubW9iaWxlICB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5nb29nbGVMb2dpbiwgLmZiTG9naW4gIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MTVweCkge1xuICAgIC5ib2FyZFZpZXcsXG4gICAgLnByb2ZpbGVWaWV3IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuaGlkZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuaGlkZURlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAucHJvZmlsZVZpZXcge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDg5dmg7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdJbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAubGlzdGluZ1ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdWaWV3cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOm5vdCguc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWFnZVdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXREZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXRNb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgaS5lZGl0TW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lZGl0aW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAubnVtYmVyU2VsZWN0ZWQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmNoYiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0UHJvTW9iaWxlIHtcbiAgICAgICAgbWFyZ2luOiAyMnB4IDBweCAwIDM0cHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDQwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b3BTZWxlY3RlZCwgLmFjdGl2YXRlU2VsZWN0ZWQsIC5kZWFjdGl2YXRlU2VsZWN0ZWQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uaGlkZUJhclBybyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVkaXRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuIiwiLnByb2ZpbGVNZW51IHtcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICB9XG59XG5cbi5wcm9maWxlTWVudUxpbmssIC5tZW51TGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG59XG4ucHJvZmlsZU1lbnVMaW5rLnRvZ2dsZU1vZGUge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBsYWJlbC5kcm9wZG93blN3aXRjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG59XG4ucHJvZmlsZU1lbnVMaW5rLmFjdGl2ZSwgLm1lbnVMaW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgbGFiZWwge1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLnByb2ZpbGVNZW51TGluazpmb2N1cywgLm1lbnVMaW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZS1hY3RpdmU7XG4gICAgbGFiZWwge1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLm1haW5JbWFnZVVwbG9hZEljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICBib3R0b206IDEwcHg7XG59XG5cbi5sb2dvSW1hZ2VVcGxvYWRJY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAyMHB4O1xufVxuXG4uaW1nT3ZlcmxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgb3BhY2l0eTogNDAlO1xufVxuXG4ubG9nb1dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGJvdHRvbTogLTMwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggYmxhY2s7XG4gICAgLnByb2ZpbGVBdmF0YXIge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaW1nT3ZlcmxheSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5wcm9maWxlTWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLmFkU2V0dGluZ3Mge1xuICAgIC5maWx0ZXJCYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA5JSAwIDklO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzA1cHg7XG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJtZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGVCYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc29ydEJ5IHtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMyU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMnB4O1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgICAgICAgICAgbGVmdDogMzUlO1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjdGl2ZUxpc3RpbmdzIHtcbiAgICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggOCUgNDBweDtcbiAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMzBweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIC5pbWdPdmVybGF5IHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpLmVkaXRNb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5lZGl0T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWN0aXZlU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZWxldGVBZCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWRkTGlzdGluZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVhY3RpdmF0ZWRMaXN0aW5nIHtcbiAgICAgICAgICAgICAgICAuaW1nT3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0OGE7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEyNXB4KSB7XG4gICAgICAgIC5hY3RpdmVMaXN0aW5ncyB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0JSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY3RpdmVMaXN0aW5ncyB7XG4gICAgICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY1cHgpIHtcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQlO1xuICAgICAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgLnNvcnRCeSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuYWN0aXZlTGlzdGluZ3Mge1xuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNCU7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0TW9iaWxlLmJhY2tCdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICBvcmRlcjogM1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDEsIGEge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMzhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTJweCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGl2ZUxpc3RpbmdzIHtcbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAubGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIxMHB4O1xuICAgICAgICAgICAgICAgICAgICAubGlzdGluZ0RldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0aW5nRWRpdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3RpbmdWaWV3cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNjAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZWRpdE9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYWN0aXZlU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3dpdGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93blN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duVG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib2FyZFNldHRpbmdzIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggOSUgMjBweCA5JTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaGlkZUJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5teUJvYXJkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogMTVweCA4JTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOTBweCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC8vQG1lZGlhIChtYXgtd2lkdGg6IDExMjVweCkge1xuICAgICAgICAvLyAgICBwYWRkaW5nOiAxNXB4IDQlO1xuICAgICAgICAvL31cbiAgICAgICAgLmJvYXJkIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzBweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAuaW1hZ2VXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGltZywgLmVtcHR5SW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cHggNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmVtcHR5SW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYm9hcmRJbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnB1YmxpY1N3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6bm90KCNwdWJsaWNTd2l0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvYXJkRWRpdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5lZGl0QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlbGV0ZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZEJvYXJkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHRfYm94X3NoYWRvdztcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAxNXB4IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgICAuYWRkQm9hcmQ6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWJsdWUtaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgLmFkZEJvYXJkOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlLWFjdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE0MHB4KSB7XG4gICAgICAgICAgICAuYm9hcmQsIC5hZGRCb2FyZCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODI1cHgpIHtcbiAgICAgICAgICAgIC5ib2FyZCwgLmFkZEJvYXJkIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAgICAgLmJvYXJkLCAuYWRkQm9hcmQge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA0JTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBlcnNvbmFsU2V0dGluZ3Mge1xuICAgIC5maWx0ZXJCYXIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5teVNldHRpbmdzIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgOCU7XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTVweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODk1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDExMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLmVkaXRJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dEdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDFweCAjODg4ODg4MkU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAucGhvbmVOdW1iZXJJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI2xpbmtlZEFjY291bnRzIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMTIycHgpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZiTG9naW4ubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmdvb2dsZUxvZ2luLCAuZmJMb2dpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgY2FsYyg1MCUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzI1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ubW9iaWxlLCAuZmJMb2dpbi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdvb2dsZUxvZ2luLCAuZmJMb2dpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kb2Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNkYXRlT2ZCaXJ0aElucHV0cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSA1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAjZGF0ZU9mQmlydGhJbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNldHRpbmdzU3VibWl0IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMCUgMCAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMCUgMDtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnNldHRpbmdzU3VibWl0TW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTUwcHgpICB7XG4gICAgICAgIC5ub3RpZmljYXRpb25zIHtcbiAgICAgICAgICAgIC5ub3RpY2F0aW9uVG9nZ2xlcyB7XG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvblN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5teVNldHRpbmdzIHtcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogOTYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMiU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2xpbmtlZEFjY291bnRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b25XcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3hfc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW46bm90KC5tb2JpbGUpLCAuZmJMb2dpbjpub3QoLm1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmJMb2dpbi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ29vZ2xlTG9naW4ubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2V0dGluZ3NTdWJtaXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZG9iIHtcbiAgICAgICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgI2RhdGVPZkJpcnRoSW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zZXR0aW5nc1N1Ym1pdE1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDQlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAuc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXlIaXN0b3J5IHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGF5bWVudEhpc3Rvcnkge1xuICAgICAgICBtYXJnaW46IDAgOCU7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEsIHAsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXltZW50VGFibGVNb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA4JSAwO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnBheW1lbnRUYWJsZU1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5wYXltZW50RGV0YWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICY+ICoge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAsIC5yaWdodFNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnBheW1lbnRUb3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnBheW1lbnREZXRhaWwuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuLmluYWN0aXZlUGF5bWVudCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDUsIC5wYXltZW50VG90YWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9uU2V0dGluZ3Mge1xuICAgIGhlaWdodDogODB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLm15TG9jYXRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgLmxvY2F0aW9uc1BhbmVsIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCA4JSAwO1xuICAgICAgICAgICAgLnNlYXJjaExvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgLmlucHV0V2l0aEJ1dHRvbkZvcm1Db250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTsgLy8gdG8gb3ZlcmxheSBtYXAgb24gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjb250ZXh0dWFsIHN0eWxlc1xuICAgICAgICAgICAgICAgICAgICAuZmFuY3lEcm9wZG93bi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICAobWF4LXdpZHRoOiAxMDQwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJ1dHRvbldyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zYXZlZExvY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2F2ZWRMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9URU1QT1JBUllcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgLy9URU1QT1JBUllcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1hcFBhbmVsIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiB1bnNldDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0OHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjZ29vZ2xlTWFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXRGaWx0ZXJCYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwic21cIikpIHtcbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgLy9vcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICAubXlMb2NhdGlvbnMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgLmxvY2F0aW9uc1BhbmVsIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAuc2VhcmNoTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjIycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTglO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbldyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICAuZGVsZXRlQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubm90aWZpY2F0aW9uU2V0dGluZ3Mge1xuICAgIC5maWx0ZXJCYXIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ub3RpZmljYXRpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwIDglO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgICAgICAgfVxuICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmV3QWRGaWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkbGlnaHQtZ3JheS1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYWR2YW5jZWQtc2VhcmNoLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgOCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYWRDYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYWRDYXRlZ29yeS5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcnk6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWUtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDI0cHggY2FsYyg1MCUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWRGaWx0ZXJEcm9wZG93bnMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAyNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nLmljb25MZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nLmljb25SaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQsIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAzNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwLmNvc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuY29zdElucHV0V3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRXcmFwcGVyOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuY29zdElucHV0TGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggMCAwIDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvc3RJbnB1dFJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAyOHB4IDI4cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3N0SW5wdXRMZWZ0OmZvY3VzLCAuY29zdElucHV0UmlnaHQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5ib3hUZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWdpc3RlckZvcm0ge1xuICAgICAgICAgICAgLnBob25lTnVtYmVySW5wdXRHcm91cCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICM4ODg4ODgyRTtcbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjU1cHgpIHtcbiAgICAgICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAgIC5uZXdBZEZpbHRlcnMge1xuICAgICAgICAgICAgICAgICAgICAuYWRGaWx0ZXJEcm9wZG93bnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjBweCkgIHtcbiAgICAgICAgLm5vdGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAgIC5uZXdBZEZpbHRlcnMge1xuICAgICAgICAgICAgICAgICAgICAuYWRGaWx0ZXJEcm9wZG93bnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkgIHtcbiAgICAgIC5ub3RpZmljYXRpb25zIHtcbiAgICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uU3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLm5ld0FkRmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAuYWRGaWx0ZXJEcm9wZG93bnMge1xuICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcuaWNvbkxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy5pY29uUmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAuYm94VGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDglIDA7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICBtYXJnaW46IDIwcHggNCU7XG4gICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgIH1cbiAgICAgICAgICAgLm5vdGljYXRpb25Ub2dnbGVzIHtcbiAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNCU7XG4gICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgbGFiZWwuc3Ryb25nQmxrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIC5uZXdBZEZpbHRlcnMge1xuICAgICAgICAgICAgICAgICAgIC5hZENhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1vYmlsZUhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkQ2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hZENhdGVnb3J5LmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgLmFkRmlsdGVyRHJvcGRvd25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCA0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfVxuICAgICAgICAgICAucmVnaXN0ZXJGb3JtIHtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzODVweCkge1xuICAgICAgICAubm90aWZpY2F0aW9ucyB7XG4gICAgICAgICAgICAubm90aWNhdGlvblRvZ2dsZXMge1xuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbC5zdHJvbmdCbGsge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVnb3J5U2V0dGluZ3Mge1xuICAgIC5maWx0ZXJCYXIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mYXZvdXJpdGVDYXRlZ29yaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwIDglO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yaWVzV3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIH1cbiAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIC5mYXZvdXJpdGVUb2dnbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVTd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2M3B4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3NHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3dpdGNoLFxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd25Td2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgICAgICAuZmF2b3VyaXRlQ2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlVG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgICAgIC5maWx0ZXJCYXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggOCUgMDtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmF2b3VyaXRlQ2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDQlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVUb2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNCU7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZhdm91cml0ZVN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODNweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbC5zdHJvbmdCbGsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsI2NhdGVnb3J5RmlsdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZXI6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd25Ub2dnbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODY1cHgpIHtcbiAgICAuY2F0ZWdvcnlTZXR0aW5ncyB7XG4gICAgICAgIC5mYXZvdXJpdGVDYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIC5jYXRlZ29yaWVzV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLmZhdm91cml0ZVRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgcGFkZGluZzogMCA0JTtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzUlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yaWdodEZpbHRlckJhciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA2NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODI1cHgpIHtcbiAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmlsdGVyQmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggOCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICB9XG4gICAgLnJpZ2h0RmlsdGVyQmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gMjAwcHgpO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhpZGVCYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnN1YkNhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxNXB4O1xuICAgIG1heC1oZWlnaHQ6IDIwNnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAuc3ViQ2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29tcGFueVByb2ZpbGV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDkydmg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gICAgLnJlc3VsdHMge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAuZmlsdGVyQmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA4OSU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBociB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4JTtcbiAgICB9XG4gICAgLmFkdmFuY2VkU2VhcmNoTGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWNvbW1lbmRlZExpc3RpbmdzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIC5yZWNlbnRseUFkZGVkIHtcbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MTBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NzVweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDhweCkge1xuICAgICAgICAucmVzdWx0cyB7XG4gICAgICAgICAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTkwcHgpIHtcbiAgICAgICAgLnJlc3VsdHMge1xuICAgICAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAubWFpbkltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICB9XG4gICAgLnByb2ZpbGVBdmF0YXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IGJsYWNrO1xuICAgIH1cbn1cblxuLmNvbXBhbnlOYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGgxIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLmNvbXBhbnlCaW8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMTBweCA4JSAwO1xuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICAgIC5waG9uZUluZm8ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cbiAgICAuY29tcGFueUluZm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWx0ZXJUb3RhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMjBweCA4JSAwO1xuICAgIHNwYW4ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucmVzdWx0cyB7XG4gICAgLmZpbHRlclRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgIC5jb21wYW55QmlvIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJzbVwiKSkge1xuICAgIC5jb21wYW55UHJvZmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5yZXN1bHRzIHtcbiAgICAgICAgLmZpbHRlclRvdGFsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb3J0Qnkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMCU7XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICMwMDAwMDA0MDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlckJhciB7XG4gICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAuZGlzdGFuY2VJbnB1dCwgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvc3RJbnB1dCB7XG4gICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudWktYXV0b2NvbXBsZXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG4iLCIuYXJ0aWNsZVZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCA4JTtcbn1cblxuLmFydGljbGVzUGFuZWwge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIC8vIFRFTVBPUkFSWSBDU1NcbiAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG5cbi5tZW51TGluayB7XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbn1cblxuLmFydGljbGVzIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xufVxuXG4uY2F0ZWdvcnlUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiNzaG93Q2F0ZWdvcnlJdGVtcyB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDc1cHgpO1xufVxuXG4jcmlnaHRQYW5lbCB7XG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xufVxuXG4uc3F1YXJlQmFubmVyIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLm1vYmlsZVZpZXcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuI3JlbGF0ZWRJdGVtcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAucmVsYXRlZEl0ZW1zQ2Fyb3VzZWwge1xuICAgICAgICB3aWR0aDogNzB2dztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXJ0aWNsZSB7XG4gICAgLmFydGljbGVIZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMCA4JTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgLy8gVEVNUE9SQVJZIEJPWC1TSEFET1dcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDNweCA0cHggMHB4ICMwMDAwMDAzYjtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXJ0aWNsZUV4Y2VycHQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDglIDA7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXJ0aWNsZUJvZHkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDglIDA7XG4gICAgICAgIC50ZXJtU3RhdGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJhbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVsYXRlZEl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICAgICAgLmxpc3Rpbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ2ltYWdlIGRldGFpbCc7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0NyUgNTMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpc3RpbmdEZXRhaWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBkZXRhaWw7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgICAgICAgICAndGl0bGUnXG4gICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbidcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAncHJpY2UnO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTUlIDIwJSBtaW5tYXgoMCwgYXV0bykgMTUlO1xuICAgICAgICAgICAgICAgIC5saXN0aW5nSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3RpbmdMb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogbG9jYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogcHJpY2U7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZWxhdGVkQXJ0aWNsZXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBvbCwgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXJ0aWNsZU51bWJlckxpc3Qge1xuICAgIDo6bWFya2VyIHtcbiAgICAgICAgY29udGVudDogY291bnRlcnMobGlzdC1pdGVtLCcuJykgJy4gJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG4uYXJ0aWNsZUxldHRlckxpc3Qge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgOjptYXJrZXIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5hcnRpY2xlQ29udGVudEhwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApLCByZ2JhKDI1NSwyNTUsMjU1LDEpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAjbGVmdFBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmFydGljbGUge1xuICAgICAgICAuYXJ0aWNsZUhlYWRpbmcge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuYXJ0aWNsZUV4Y2VycHQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5hcnRpY2xlIC5hcnRpY2xlQm9keSAucmVsYXRlZEl0ZW0gLmxpc3RpbmdEZXRhaWwgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3JpZ2h0UGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjcmVsYXRlZEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICB9XG4gICAgLnNxdWFyZUJhbm5lci5tb2JpbGVWaWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgfVxuXG4gICAgLmFydGljbGVDb250ZW50SHAgYSxwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgLmFydGljbGUgLmFydGljbGVCb2R5IC5yZWxhdGVkSXRlbSB7XG4gICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgJ2ltYWdlJ1xuICAgICAgICAgICAgICAgICdkZXRhaWwnO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5saXN0aW5nRGV0YWlsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgJ3RpdGxlIHRpdGxlJ1xuICAgICAgICAgICAgICAgICdwcmljZSBsb2NhdGlvbidcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24gZGVzY3JpcHRpb24nO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyMCUgMjUlIG1pbm1heCgwLCAxMDBweCk7XG4gICAgICAgICAgICAubGlzdGluZ0luZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nTG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2Nvb2tpZXNQb3B1cCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTowO1xuICAgIC53cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1hZHZhbmNlZC1zZWFyY2gtY29sb3I7XG4gICAgfVxuICAgICAuaW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB6LWluZGV4OiAxMDY2O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmFncmVlIHtcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB9XG4gICAgLmFncmVlOmhvdmVyLC5hZ3JlZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlLWhvdmVyO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcblx0I2Nvb2tpZXNQb3B1cCB7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuYWdyZWUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibWRcIikpIHtcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBidXR0b246bm90KC5ub0hvdmVyKTpob3ZlciwgLmJ1dHRvbjpob3ZlciwgLnNlYXJjaEJ1dHRvbjpob3ZlciwgLnNlYXJjaEJ1dHRvbk1vYmlsZTpob3ZlciwgLm5hdi1pdGVtLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkdmFuY2VkU2VhcmNoTWVudSB7XG4gICAgICAgICAgICAjYWR2YW5jZWRTZWFyY2gge1xuICAgICAgICAgICAgICAgICNhZHZhbmNlZFNlYXJjaExpbmtDbG9zZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWUtaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsa0xpbmsge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmthdGVnb3JpZSBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEudW5kZXJsaW5lOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtRGV0YWlsIHtcbiAgICAgICAgICAgIC5pdGVtRGV0YWlsQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAucmlnaHRQYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgIC5jb250YWN0TGlzdGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtd2hpdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlTWVudUxpbms6aG92ZXIsIC5tZW51TGluazpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYW55UHJvZmlsZSB7XG4gICAgICAgICAgICAuYWR2YW5jZWRTZWFyY2hMaW5rOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0aW5nOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvb2dsZUxvZ2luOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjNkMzI7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3SXRlbSB7XG4gICAgICAgICAgICAuYWRtaW5QYW5lbCB7XG4gICAgICAgICAgICAgICAgLmZvcm0taW5saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zYXZlRHJhZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm9hcmRWaWV3IC5saXN0aW5nOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaXN0ZXJUeXBlU2VsZWN0aW9uIGlucHV0W3R5cGU9cmFkaW9dOmhvdmVyICsgbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWUtaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0SWNvbjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWl0ZW06bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgIC5uYXYtbGluazpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcInNtXCIpKSB7XG4gICAgLml0ZW1EZXRhaWwge1xuICAgICAgICAuaXRlbURldGFpbENvbnRhaW5lciB7XG4gICAgICAgICAgICAuc2VsbGVyV3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYS5jb250YWN0QnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjY2xvc2V7XG4gICAgd2lkdGg6IDE0NXB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LWZhbWlseTogUG9wcGlucztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICMxNTcwQTY7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjpzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IC00NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG59XG5cbiNlcnJvck1lc3NhZ2V7XG4gICAgY29sb3I6ICNGRjAwMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvcGllZHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUY5O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG59XG5cbi5tYWlsU2VuZGVye1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaW5wdXRbdHlwZT1lbWFpbF17XG4gICAgICAgIHdpZHRoOiAyODFweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDZweCAxcHggcmdiYSgxNzAsIDE3MCwgMTcwLCAwLjE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFBvcHBpbnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBpbnB1dDo6cGxhY2Vob2xkZXJ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF17XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE5cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hde1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgcHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cblxuICAgICNtYWlsQ2hlY2t7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTg5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDFweCByZ2JhKDE3MCwgMTcwLCAxNzAsIDAuMTgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogUG9wcGlucztcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB9XG5cbiAgICAjc2VuZE1haWx7XG4gICAgICAgIHdpZHRoOiAyODFweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzE1NzBBNjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpkaXNhYmxlZHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNUQ5Q0MyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY29weU51bWJlclJlc3BvbnNpdmV7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG59XG5cbiNvcGVuTWFpbFJlc3BvbnNpdmV7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBpe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG59XG5cbiN3aGF0c2FwcFJlc3BvbnNpdmV7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxuICAgIGF7XG4gICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICB9XG4gICB9XG59XG5cbiNjbG9zZVJlc3BvbnNpdmV7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjb2xvcjogIzE1NzBBNjtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNtYWlsSW5wdXRSZXNwb25zaXZle1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jbWFpbEJvZHlSZXNwb25zaXZle1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4jc2VuZE1haWxSZXNwb25zaXZle1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGl7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIH1cbn1cblxuI21haWxDaGVja1Jlc3BvbnNpdmV7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiNtYWlsQ2hlY2tCb3hSZXNwb25zaXZle1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uc2VsbGVyQnV0dG9uUm93UmVzcG9uc2l2ZXtcbiAgICBidXR0b257XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIGF7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmJ1dHRvbntcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLmVycm9ye1xuICAgIGNvbG9yOiByZWQ7XG59XG5cbi5pbnB1dEVycm9ye1xuICAgIGJvcmRlcjogc29saWQgMXB4IHJlZDtcbn1cblxuI3Jlc3BvbnNlRXJyb3JNZXNzYWdlLFxuI3Jlc3BvbnNlRXJyb3JNZXNzYWdlUmVzcG9uc2l2ZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiByZWQ7XG59XG5cbmJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogIzVEOUNDMjtcbn1cblxuI2NvcHlQaG9uZXtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jaGlkZGVuTnVtYmVyRGl2e1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG5cbiNzdWNjZXNzUmVzcG9uc2l2ZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMxMUJCNTU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hpZGRlbk51bWJlckRpdlJlc3BvbnNpdmV7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcHtcbiAgICAgICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG4iLCIvLyBzdHlsZXMgZm9yIGhlYWRlclNlYXJjaFdpZGdldC52dWVcbi5oZWFkZXJTZWFyY2hXaWRnZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZmFuY3lEcm9wZG93bkxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAmLmhpZGVOc2VlayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi51bmhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FtSCtDSyxBakgvQ0wsc0JpSCtDZ0IsQ2pIL0NEO0VBQ1gsZ0JBQWdCLEVEYVAs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LElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVC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RUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUks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 */
