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

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

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

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

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

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

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

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

button {
  border-radius: 0;
}

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

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

select {
  word-wrap: normal;
}

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

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

small,
.small {
  font-size: 80%;
  font-weight: 400;
}

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

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

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

.list-inline-item {
  display: inline-block;
}

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

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

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

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

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

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

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

.figure {
  display: inline-block;
}

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

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

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

a > code {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.33333%;
}

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333%;
  }
  .offset-sm-2 {
    margin-left: 16.66667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333%;
  }
  .offset-sm-5 {
    margin-left: 41.66667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333%;
  }
  .offset-sm-8 {
    margin-left: 66.66667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333%;
  }
  .offset-sm-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333%;
  }
  .offset-md-2 {
    margin-left: 16.66667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333%;
  }
  .offset-md-5 {
    margin-left: 41.66667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333%;
  }
  .offset-md-8 {
    margin-left: 66.66667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333%;
  }
  .offset-md-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333%;
  }
  .offset-lg-2 {
    margin-left: 16.66667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333%;
  }
  .offset-lg-5 {
    margin-left: 41.66667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333%;
  }
  .offset-lg-8 {
    margin-left: 66.66667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333%;
  }
  .offset-lg-11 {
    margin-left: 91.66667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333%;
  }
  .offset-xl-2 {
    margin-left: 16.66667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333%;
  }
  .offset-xl-5 {
    margin-left: 41.66667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333%;
  }
  .offset-xl-8 {
    margin-left: 66.66667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333%;
  }
  .offset-xl-11 {
    margin-left: 91.66667%;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

textarea.form-control {
  height: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade {
  transition: opacity 0.15s linear;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
  margin-top: 0;
}

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

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

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

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

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

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

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

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

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

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}

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

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

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

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

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

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

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

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

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

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}

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

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

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

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

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  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 {
  border-radius: 0.25rem;
}

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

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

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

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

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}

.navbar .container,
.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap;
}

.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

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

.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}

.navbar-nav .dropdown-menu {
  position: static;
  float: none;
}

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

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

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

.navbar-toggler:hover, .navbar-toggler:focus {
  text-decoration: none;
}

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

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

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.navbar-expand > .container,
.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
  flex-wrap: nowrap;
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}

.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}

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

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

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5);
}

.navbar-light .navbar-text a {
  color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}

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

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

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

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

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

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

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

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

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

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

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

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

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

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

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

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

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

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

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

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

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

.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

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

.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

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

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

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

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

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

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

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

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

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

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

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

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

.accordion {
  overflow-anchor: none;
}

.accordion > .card {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.badge:empty {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.alert-heading {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.media-body {
  flex: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.toast.showing {
  opacity: 1;
}

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

.toast.hide {
  display: none;
}

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

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: 0.9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}

.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0;
}

.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}

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

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem;
}

.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0;
}

.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}

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

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem;
}

.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}

.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

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

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.carousel {
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-danger {
  background-color: #dc3545 !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}

.user-select-all {
  -webkit-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
          user-select: none !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  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;
  }
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: none;
  }
  a:focus,
  a:hover,
  a:active {
    outline: 0;
  }
  input:focus {
    outline: 0;
  }
}

/*------------------------------------*\
    Styles
\*------------------------------------*/
body,
html {
  overflow-x: hidden;
  font-family: Asap, sans-serif;
  color: #132a3c;
  font-size: 1rem;
  font-weight: 400;
  min-height: 100vh;
  scroll-behavior: smooth;
}

body a:visited,
html a:visited {
  text-decoration: none;
}

body a:focus,
body a:hover,
body a:active,
html a:focus,
html a:hover,
html a:active {
  outline: 0;
}

body input:focus,
html input:focus {
  outline: 0;
}

body h1,
body .h1,
html h1,
html .h1 {
  font-size: 3em;
  color: #002F45;
  font-family: "ff-scala-web";
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
  margin-bottom: .25em;
}

body h2,
body .h2,
html h2,
html .h2 {
  font-size: 1.55em;
  color: #002F45;
  font-family: "ff-scala-web";
  font-style: italic;
  font-weight: 400;
  border-bottom: 1px solid #002F45;
  margin-top: 1.3em;
}

body h3:not(.popover-header),
body .h3,
html h3:not(.popover-header),
html .h3 {
  font-size: 1.125em;
  color: #4A6576;
  font-weight: 800;
  margin-bottom: .25em;
  margin-top: 1.3em;
  display: block;
}

body h4,
body .h4,
html h4,
html .h4 {
  font-size: 1em;
  color: #002F45;
  font-weight: 800;
  margin-bottom: .25em;
  margin-top: 1.3em;
}

body blockquote,
html blockquote {
  background: #222222;
  color: white;
  border-left: 10px solid #aaa;
  margin: 1.5em 0px;
  padding: 0.5em 10px;
  quotes: "“" "”" "‘" "’";
}

body blockquote:before,
html blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.3em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}

body blockquote:after,
html blockquote:after {
  color: #ccc;
  content: close-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}

body blockquote p,
html blockquote p {
  display: inline;
}

.bg-light {
  background-color: #cbcbcb !important;
}

header .navbar .navbar-nav .nav-link {
  color: #132a3c;
  font-weight: bold;
  font-size: 1rem;
  font-family: ff-scala;
}

header .navbar .navbar-nav .nav-link a {
  font-family: ff-scala;
}

header .navbar .navbar-brand {
  color: #132a3c;
  font-weight: bold;
  font-size: 1.15rem;
  font-family: ff-scala;
}

header .navbar .navbar-brand a {
  font-family: ff-scala;
}

.map-wrapper,
.chart-wrapper {
  height: auto;
  width: 100%;
  position: relative;
}

.map-wrapper .map,
.map-wrapper .chart,
.chart-wrapper .map,
.chart-wrapper .chart {
  height: 600px;
  background-color: white;
}

.map-wrapper .chart-title,
.chart-wrapper .chart-title {
  font-size: 1.125em;
  color: #4A6576;
  font-weight: 800;
  margin-bottom: .25em;
  margin-top: 1.3em;
  display: block;
}

.map-wrapper .chart-subtitle,
.chart-wrapper .chart-subtitle {
  font-size: .9em;
  color: #4A6576;
  font-weight: 800;
  margin-bottom: 1em;
  margin-top: 0;
  display: block;
}

.map-wrapper .source,
.map-wrapper .notes,
.chart-wrapper .source,
.chart-wrapper .notes {
  font-size: .8em;
  margin-top: 1em;
}

footer {
  margin-top: 30px;
}

.indicator-selector {
  list-style: none;
  margin: 0;
  padding: 0;
}

.indicator-selector li {
  margin-top: 2px;
}

.indicator-selector li a {
  display: block;
  background-color: #ccc;
  padding: 10px 20px;
  color: black;
}

.indicator-selector li a:hover, .indicator-selector li a.active {
  background-color: #efefef;
}

.view-maps-button {
  margin-top: 10px;
  background-color: #002f45;
  color: white;
  border-radius: 2px;
}

.view-maps-button:hover {
  color: white;
  background-color: #4a6576;
}

.highlight {
  padding: 1.25em 2em;
  margin: 1em 0;
  background: #d4effc;
  line-height: 1.6;
}

header {
  font-family: "ff-scala-web";
}

.page-header .page-header-title {
  color: #132a3c;
  font-family: "ff-scala-web";
  font-size: 18px;
  font-weight: bold;
  font-style: normal;
  letter-spacing: 0.09px;
  line-height: normal;
  margin: 20px 0;
}

.page-header .home-page-header-title {
  color: #132a3c;
  font-family: "ff-scala-web";
  font-size: 24px;
  font-weight: bold;
  font-style: normal;
  letter-spacing: 0.09px;
  line-height: normal;
  margin: 40px 0;
}

.page-header .page-header-image img {
  height: 200px;
  width: auto;
  margin-top: 40px;
}

.stat-box {
  height: 130px;
  background-color: #e4e4e4;
  position: relative;
  margin: 20px 0;
}

.stat-box .stat-title {
  position: absolute;
  top: 15px;
  font-size: 16px;
  width: 100%;
  line-height: 1;
  padding: 0 5px;
}

.stat-box .stat {
  position: absolute;
  bottom: 50px;
  font-size: 24px;
  font-weight: 700;
  width: 100%;
}

.stat-box .stat-note {
  position: absolute;
  bottom: 10px;
  font-size: 14px;
  font-weight: 800;
  width: 100%;
  line-height: 1;
}

section.content-section {
  padding-top: 50px;
}

section.content-section .section-title {
  font-size: 1.3em;
  color: #002F45;
  font-family: "ff-scala-web";
  font-style: italic;
  font-weight: 400;
  border-bottom: 1px solid #002F45;
  margin-top: 1.3em;
  margin-bottom: 1em;
}

ul.sidebar-ul {
  margin: 0;
  padding: 0 10px 0 0px;
  list-style: none;
  display: block;
}

ul.sidebar-ul li a {
  color: #9EB23B;
  font-weight: 800;
  display: block;
  margin-bottom: 10px;
}

.map-opener {
  color: #002f45;
  display: block;
  font-size: 1.2em;
  margin-top: 20px;
  text-decoration: none;
}

.map-opener:hover {
  text-decoration: none;
}

.modal-full {
  min-width: 20%;
  margin-left: 10vw;
}

.modal-full .modal-content {
  min-height: 90vh;
  min-width: 80vw;
}

.parish-buttons-title {
  font-size: 20px;
  margin-bottom: 10px;
}

.page-footer {
  margin-top: 20px;
  margin-bottom: 50px;
}

.parish-buttons-footer-title {
  font-size: 20px;
  margin-top: 40px;
  margin-bottom: 20px;
}

.parish-buttons.nav,
.parish-buttons-footer.nav {
  white-space: nowrap;
  margin-bottom: 20px;
}

.parish-buttons.nav li,
.parish-buttons-footer.nav li {
  margin-top: 10px;
}

.parish-buttons.nav li .btn-secondary,
.parish-buttons-footer.nav li .btn-secondary {
  background-color: #002f45;
  border-radius: 2px;
}

@media screen and (min-width: 1025px) {
  #parish-analysis-dropdown,
  #parish-resiliency-maps-dropdown {
    column-count: 4;
  }
}

.newShareTools {
  margin-right: auto;
  margin-left: auto;
  margin-top: 1em;
  display: block;
  margin-bottom: 3em;
  clear: both;
  width: auto;
  white-space: nowrap;
}

.newShareTools .share-button {
  background: #002F45;
  display: inline-block;
  color: white;
  padding: 12px 20px;
  margin-right: 5px;
}

@media screen and (max-width: 768px) {
  .newShareTools .share-button {
    padding: 10px;
    margin-right: 3px;
  }
}

.region-menu img {
  margin: 50px auto 10px;
  width: 80%;
  padding-left: 10%;
  height: auto;
}

.region-menu a {
  text-decoration: none;
}

.region-menu a:hover {
  text-decoration: none;
}

.region-menu .region-title {
  font-size: 20px;
  color: #002F45;
  font-family: "ff-scala-web";
  font-style: italic;
  font-weight: 400;
  border-bottom: 1px solid #002F45;
  margin-top: 1.3em;
  margin-bottom: .3em;
}

.region-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.region-menu ul li a {
  color: #002F45;
  font-weight: 600;
  display: block;
  margin: 2px 0;
  font-size: 16px;
}

.download-data-button a {
  color: #999;
  float: right;
  text-align: right;
  font-size: 12px;
  display: block;
  margin-bottom: 5px;
}

.dropdown-menu.show {
  z-index: 9999;
}

.easy-button-button {
  padding: 0;
}

.easy-button-button img {
  height: 30px;
  width: 30px;
}

.legend {
  position: absolute;
  top: 50px;
  right: 20px;
  background-color: white;
  border-radius: 2px;
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.5);
  height: auto;
  width: 300px;
  z-index: 1900;
  padding: 30px;
  transition: right 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.legend.slidout {
  right: -50px;
  visibility: hidden;
}

.legend .close-legend {
  color: rgba(0, 0, 0, 0.5);
  font-size: 20px;
  float: right;
}

.legend .score {
  padding-left: 10px;
}

.legend .legend-box-wrapper {
  width: 20px;
}

.legend .legend-box {
  background-color: #efefef;
  height: 20px;
  width: 20px;
}

.legend .legend-box .box {
  height: 100%;
  width: 100%;
}

.legend .quintile-1 .box {
  background-color: #002f45;
}

.legend .quintile-2 .box {
  background-color: #4a6576;
}

.legend .quintile-3 .box {
  background-color: #6892ab;
}

.legend .quintile-4 .box {
  background-color: #abe1fa;
}

.legend .quintile-5 .box {
  background-color: #d4effc;
}

@media only screen and (min-width: 1024px) {
  .toc {
    position: fixed;
    top: 100px;
    max-width: 16%;
  }
}

.back-to-top {
  text-align: center;
  position: relative;
  display: inline-block;
  padding: 6px;
  line-height: 18px;
  background-color: #9eb23b;
  color: white;
}

@media only screen and (max-width: 1024px) {
  .back-to-top {
    display: none;
  }
}

.back-to-top:active {
  color: white;
}

.back-to-top:hover {
  color: white;
}

.back-to-top .fa,
.back-to-top svg {
  font-size: 20px;
}

.feedback-form-prompt {
  background: #9EB23B;
  color: white;
  padding: 1em;
  position: fixed;
  bottom: 0;
  right: 1em;
  z-index: 9999999;
  width: 16%;
}

.feedback-form-prompt .close-feedback-form {
  float: right;
}

.feedback-form-prompt h2 {
  font-size: 20px;
  color: white;
  border-bottom: 1px solid white;
  padding: 0 0 .5em;
  margin: 0 0 .5em;
}

.feedback-form-prompt a {
  color: white;
  font-weight: 800;
}

.feedback-form-prompt p {
  margin: 0;
  padding: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2ZvbnRzLnNjc3MiLCJfY29sb3JzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIl9mb250c1wiO1xuQGltcG9ydCBcIl9jb2xvcnNcIjtcbkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwJztcblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFJFU1BPTlNJVkVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDozMjBweCkge31cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQ4MHB4KSB7fVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHt9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI0cHgpIHt9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTQwcHgpIHt9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjgwcHgpIHt9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoxLjUpLFxub25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjoxNDRkcGkpIHt9XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBQUklOVFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBhOmZvY3VzLFxuICBhOmhvdmVyLFxuICBhOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgU3R5bGVzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5ib2R5LFxuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRmb250O1xuICBjb2xvcjogIzEzMmEzYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBhOmZvY3VzLFxuICBhOmhvdmVyLFxuICBhOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgY29sb3I6ICMwMDJGNDU7XG4gICAgZm9udC1mYW1pbHk6IFwiZmYtc2NhbGEtd2ViXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtO1xuICB9XG5cbiAgaDIsXG4gIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjU1ZW07XG4gICAgY29sb3I6ICMwMDJGNDU7XG4gICAgZm9udC1mYW1pbHk6IFwiZmYtc2NhbGEtd2ViXCI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDJGNDU7XG4gICAgbWFyZ2luLXRvcDogMS4zZW07XG4gIH1cblxuICBoMzpub3QoLnBvcG92ZXItaGVhZGVyKSxcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgY29sb3I6ICM0QTY1NzY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjNlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGg0LFxuICAuaDQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiAjMDAyRjQ1O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICAgbWFyZ2luLXRvcDogMS4zZW07XG4gIH1cblxuXG4gIGJsb2NrcXVvdGUge1xuICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNhYWE7XG4gICAgbWFyZ2luOiAxLjVlbSAwcHg7XG4gICAgcGFkZGluZzogMC41ZW0gMTBweDtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCJcIlxcMjAxRFwiXCJcXDIwMThcIlwiXFwyMDE5XCI7XG4gIH1cblxuICBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICBmb250LXNpemU6IDRlbTtcbiAgICBsaW5lLWhlaWdodDogMC4zZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gICAgdmVydGljYWwtYWxpZ246IC0wLjRlbTtcbiAgfVxuXG4gIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xuICB9XG5cbiAgYmxvY2txdW90ZSBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLmJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiY2JjYiAhaW1wb3J0YW50O1xufVxuXG5oZWFkZXIgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogIzEzMmEzYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IGZmLXNjYWxhO1xuXG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiBmZi1zY2FsYTtcbiAgfVxufVxuXG5oZWFkZXIgLm5hdmJhciAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICMxMzJhM2M7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMTVyZW07XG4gIGZvbnQtZmFtaWx5OiBmZi1zY2FsYTtcblxuICBhIHtcbiAgICBmb250LWZhbWlseTogZmYtc2NhbGE7XG4gIH1cbn1cblxuXG4ubWFwLXdyYXBwZXIsXG4uY2hhcnQtd3JhcHBlciB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubWFwLFxuICAuY2hhcnQge1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAudGFiLXBhbmUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjNweCkge1xuICAgICAgLy8gbWluLWhlaWdodDogNjUwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgY29sb3I6ICM0QTY1NzY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjNlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jaGFydC1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGNvbG9yOiAjNEE2NTc2O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc291cmNlLFxuICAubm90ZXMge1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmluZGljYXRvci1zZWxlY3RvciB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICBjb2xvcjogYmxhY2s7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LW1hcHMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkxMDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTgwO1xuICB9XG59XG5cbi5oaWdobGlnaHQge1xuICBwYWRkaW5nOiAxLjI1ZW0gMmVtO1xuICBtYXJnaW46IDFlbSAwO1xuICBiYWNrZ3JvdW5kOiAjZDRlZmZjO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJmZi1zY2FsYS13ZWJcIjtcbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgLnBhZ2UtaGVhZGVyLXRpdGxlIHtcbiAgICBjb2xvcjogIzEzMmEzYztcbiAgICBmb250LWZhbWlseTogXCJmZi1zY2FsYS13ZWJcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA5cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuXG4gIC5ob21lLXBhZ2UtaGVhZGVyLXRpdGxlIHtcbiAgICBjb2xvcjogIzEzMmEzYztcbiAgICBmb250LWZhbWlseTogXCJmZi1zY2FsYS13ZWJcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA5cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDQwcHggMDtcbiAgfVxuXG4gIC5wYWdlLWhlYWRlci1pbWFnZSBpbWcge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uc3RhdC1ib3gge1xuICBoZWlnaHQ6IDEzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5zdGF0LXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxuXG4gIC5zdGF0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnN0YXQtbm90ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG4vLyAucGFyaXNoLXBhZ2Uge1xuLy8gICAuc3RhdCB7XG4vLyAgICAgYm90dG9tOiAyNXB4O1xuLy8gICB9XG5cbi8vICAgLnN0YXQtdGl0bGUge1xuLy8gICAgIHRvcDogMjVweDtcbi8vICAgfVxuLy8gfVxuXG5zZWN0aW9uLmNvbnRlbnQtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGNvbG9yOiAjMDAyRjQ1O1xuICAgIGZvbnQtZmFtaWx5OiBcImZmLXNjYWxhLXdlYlwiO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAyRjQ1O1xuICAgIG1hcmdpbi10b3A6IDEuM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxufVxuXG51bC5zaWRlYmFyLXVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgLy8gdG9wOiAxNDBweDtcbiAgLy8gbGVmdDogMjBweDtcbiAgLy8gd2lkdGg6IDE1JTtcbiAgbGkge1xuICAgIGEge1xuICAgICAgY29sb3I6ICM5RUIyM0I7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubWFwLW9wZW5lciB7XG4gIGNvbG9yOiAkcHJpbWFyeTEwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4ubW9kYWwtZnVsbCB7XG4gIG1pbi13aWR0aDogMjAlO1xuICBtYXJnaW4tbGVmdDogMTB2dztcbn1cblxuLm1vZGFsLWZ1bGwgLm1vZGFsLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiA5MHZoO1xuICBtaW4td2lkdGg6IDgwdnc7XG59XG5cbi5wYXJpc2gtYnV0dG9ucy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnBhZ2UtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnBhcmlzaC1idXR0b25zLWZvb3Rlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnBhcmlzaC1idXR0b25zLm5hdixcbi5wYXJpc2gtYnV0dG9ucy1mb290ZXIubmF2IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBsaSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIC5idG4tc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5MTAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4jcGFyaXNoLWFuYWx5c2lzLWRyb3Bkb3duLFxuI3BhcmlzaC1yZXNpbGllbmN5LW1hcHMtZHJvcGRvd24ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbn1cblxuXG4ubmV3U2hhcmVUb29scyB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubmV3U2hhcmVUb29scyAuc2hhcmUtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzAwMkY0NTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5uZXdTaGFyZVRvb2xzIC5zaGFyZS1idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbn1cblxuXG4ucmVnaW9uLW1lbnUge1xuICBpbWcge1xuICAgIG1hcmdpbjogNTBweCBhdXRvIDEwcHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucmVnaW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMwMDJGNDU7XG4gICAgZm9udC1mYW1pbHk6IFwiZmYtc2NhbGEtd2ViXCI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDJGNDU7XG4gICAgbWFyZ2luLXRvcDogMS4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjNlbTtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAyRjQ1O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAycHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZG93bmxvYWQtZGF0YS1idXR0b24ge1xuICBhIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLmVhc3ktYnV0dG9uLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gIH1cbn1cblxuLmxlZ2VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MHB4O1xuICByaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMXB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxOTAwO1xuICBwYWRkaW5nOiAzMHB4O1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjhzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG5cbiAgJi5zbGlkb3V0IHtcbiAgICByaWdodDogLTUwcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLmNsb3NlLWxlZ2VuZCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuc2NvcmUge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuXG4gIC5sZWdlbmQtYm94LXdyYXBwZXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG5cbiAgLmxlZ2VuZC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzksIDIzOSwgMjM5KTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICAuYm94IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5xdWludGlsZS0xIHtcbiAgICAuYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5MTAwXG4gICAgfVxuICB9XG5cbiAgLnF1aW50aWxlLTIge1xuICAgIC5ib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk4MFxuICAgIH1cbiAgfVxuXG4gIC5xdWludGlsZS0zIHtcbiAgICAuYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5NjBcbiAgICB9XG4gIH1cblxuICAucXVpbnRpbGUtNCB7XG4gICAgLmJveCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTQwXG4gICAgfVxuICB9XG5cbiAgLnF1aW50aWxlLTUge1xuICAgIC5ib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkyMFxuICAgIH1cbiAgfVxufVxuXG4udG9jIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwMjRweCkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTYlO1xuICB9XG59XG5cbi5iYWNrLXRvLXRvcCB7XG4gIC8vIG9wYWNpdHk6IDA7XG4gIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgLy8gYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWIyM2I7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmZhLFxuICBzdmcge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4uZmVlZGJhY2stZm9ybS1wcm9tcHQge1xuICBiYWNrZ3JvdW5kOiAjOUVCMjNCO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAxZW07XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIHdpZHRoOiAxNiU7XG5cbiAgLmNsb3NlLWZlZWRiYWNrLWZvcm0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDAgLjVlbTtcbiAgICBtYXJnaW46IDAgMCAuNWVtO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBDdXN0b20gRm9udHMgLSBVbmNvbW1lbnQgdG8gQWRkXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgZm9udC1mYW1pbHk6IEN1c3RvbTtcbi8vICAgc3JjOiB1cmwoXCIuLi9mb250cy9DdXN0b20vQ3VzdG9tLUJsYWNrLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICBmb250LXdlaWdodDogNDAwO1xuLy8gfVxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiBDdXN0b207XG4vLyAgIHNyYzogdXJsKFwiLi4vZm9udHMvQ3VzdG9tL0N1c3RvbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICBmb250LXdlaWdodDogOTAwO1xuLy8gfVxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiBDdXN0b207XG4vLyAgIHNyYzogdXJsKFwiLi4vZm9udHMvQ3VzdG9tL0N1c3RvbS1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4vLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICAgZm9udC13ZWlnaHQ6IDEwMDtcbi8vIH1cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogQ3VzdG9tO1xuLy8gICBzcmM6IHVybChcIi4uL2ZvbnRzL0N1c3RvbS9DdXN0b20tVGhpbi5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4vLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICAgZm9udC13ZWlnaHQ6IDMwMDtcbi8vIH1cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogQ3VzdG9tO1xuLy8gICBzcmM6IHVybChcIi4uL2ZvbnRzL0N1c3RvbS9DdXN0b20tQmxhY2stSXRhbGljLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gfVxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiBDdXN0b207XG4vLyAgIHNyYzogdXJsKFwiLi4vZm9udHMvQ3VzdG9tL0N1c3RvbS1Cb2xkLUl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4vLyAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgZm9udC13ZWlnaHQ6IDkwMDtcbi8vIH1cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogQ3VzdG9tO1xuLy8gICBzcmM6IHVybChcIi4uL2ZvbnRzL0N1c3RvbS9DdXN0b20tTGlnaHQtSXRhbGljLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICBmb250LXdlaWdodDogMTAwO1xuLy8gfVxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiBDdXN0b207XG4vLyAgIHNyYzogdXJsKFwiLi4vZm9udHMvQ3VzdG9tL0N1c3RvbS1UaGluLUl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4vLyAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgZm9udC13ZWlnaHQ6IDMwMDtcbi8vIH1cbiIsIiRwcmltYXJ5MTAwOiByZ2JhKDAsIDQ3LCA2OSwgMSk7XG4kcHJpbWFyeTEwMGhleDogIzAwMmY0NTtcbiRwcmltYXJ5ODA6IHJnYmEoNzQsIDEwMSwgMTE4LCAxKTtcbiRwcmltYXJ5ODBoZXg6ICM0YTY1NzY7XG4kcHJpbWFyeTYwOiByZ2JhKDEwNCwgMTQ2LCAxNzEsIDEpO1xuJHByaW1hcnk2MGhleDogIzY4OTJhYjtcbiRwcmltYXJ5NDA6IHJnYmEoMTcxLCAyMjUsIDI1MCwgMSk7XG4kcHJpbWFyeTQwaGV4OiAjYWJlMWZhO1xuJHByaW1hcnkyMDogcmdiYSgyMTIsIDIzOSwgMjUyLCAxKTtcbiRwcmltYXJ5MjBoZXg6ICNkNGVmZmM7XG5cbiRzZWNvbmRhcnlibHVlMTAwOiByZ2JhKDIyLCAxMTAsIDE0OSwgMSk7XG4kc2Vjb25kYXJ5Ymx1ZTEwMGhleDogIzE2NmU5NTtcbiRzZWNvbmRhcnlibHVlODA6IHJnYmEoODIsIDEyOSwgMTY0LCAxKTtcbiRzZWNvbmRhcnlibHVlODBoZXg6ICM1MjgxYTQ7XG4kc2Vjb25kYXJ5Ymx1ZTYwOiByZ2JhKDEyMiwgMTUyLCAxODEsIDEpO1xuJHNlY29uZGFyeWJsdWU2MGhleDogIzdhOThiNTtcbiRzZWNvbmRhcnlibHVlNDA6IHJnYmEoMTYxLCAxODAsIDIwMSwgMSk7XG4kc2Vjb25kYXJ5Ymx1ZTQwaGV4OiAjYTFiNGM5O1xuJHNlY29uZGFyeWJsdWUyMDogcmdiYSgyMDQsIDIxMiwgMjI0LCAxKTtcbiRzZWNvbmRhcnlibHVlMjBoZXg6ICNjY2Q0ZTA7XG5cbiRzZWNvbmRhcnl0ZWFsMTAwOiByZ2JhKDUzLCAxNjMsIDE1NSwgMSk7XG4kc2Vjb25kYXJ5dGVhbDEwMGhleDogIzM1YTM5YjtcbiRzZWNvbmRhcnl0ZWFsODA6IHJnYmEoMTA0LCAxNzYsIDE3MSwgMSk7XG4kc2Vjb25kYXJ5dGVhbDgwaGV4OiAjNjhiMGFiO1xuJHNlY29uZGFyeXRlYWw2MDogcmdiYSgxNDIsIDE5MiwgMTg5LCAxKTtcbiRzZWNvbmRhcnl0ZWFsNjBoZXg6ICM4ZWMwYmQ7XG4kc2Vjb25kYXJ5dGVhbDQwOiByZ2JhKDE3OCwgMjEwLCAyMDcsIDEpO1xuJHNlY29uZGFyeXRlYWw0MGhleDogI2IyZDJjZjtcbiRzZWNvbmRhcnl0ZWFsMjA6IHJnYmEoMjE0LCAyMjksIDIyOCwgMSk7XG4kc2Vjb25kYXJ5dGVhbDIwaGV4OiAjZDZlNWU0O1xuXG4kc2Vjb25kYXJ5Z3JlZW4xMDA6IHJnYmEoOTMsIDEzNywgNjAsIDEpO1xuJHNlY29uZGFyeWdyZWVuMTAwaGV4OiAjNWQ4OTNjO1xuJHNlY29uZGFyeWdyZWVuODA6IHJnYmEoMTIyLCAxNTMsIDg3LCAxKTtcbiRzZWNvbmRhcnlncmVlbjgwaGV4OiAjN2E5OTU3O1xuJHNlY29uZGFyeWdyZWVuNjA6IHJnYmEoMTUwLCAxNzIsIDEyMiwgMSk7XG4kc2Vjb25kYXJ5Z3JlZW42MGhleDogIzk2YWM3YTtcbiRzZWNvbmRhcnlncmVlbjQwOiByZ2JhKDE4MSwgMTk0LCAxNTgsIDEpO1xuJHNlY29uZGFyeWdyZWVuNDBoZXg6ICNiNWMyOWU7XG4kc2Vjb25kYXJ5Z3JlZW4yMDogcmdiYSgyMTQsIDIyMCwgMjAxLCAxKTtcbiRzZWNvbmRhcnlncmVlbjIwaGV4OiAjZDZkY2M5O1xuXG4kc2Vjb25kYXJ5bGltZTEwMDogcmdiYSgxNTgsIDE3OCwgNTksIDEpO1xuJHNlY29uZGFyeWxpbWUxMDBoZXg6ICM5ZWIyM2I7XG4kc2Vjb25kYXJ5bGltZTgwOiByZ2JhKDE3OSwgMTkwLCA5MywgMSk7XG4kc2Vjb25kYXJ5bGltZTgwaGV4OiAjYjNiZTVkO1xuJHNlY29uZGFyeWxpbWU2MDogcmdiYSgxOTQsIDIwNCwgMTMyLCAxKTtcbiRzZWNvbmRhcnlsaW1lNjBoZXg6ICNjMmNjODQ7XG4kc2Vjb25kYXJ5bGltZTQwOiByZ2JhKDIxMywgMjE4LCAxNjgsIDEpO1xuJHNlY29uZGFyeWxpbWU0MGhleDogI2Q1ZGFhODtcbiRzZWNvbmRhcnlsaW1lMjA6IHJnYmEoMjMyLCAyMzQsIDIwOCwgMSk7XG4kc2Vjb25kYXJ5bGltZTIwaGV4OiAjZThlYWQwO1xuXG4kc2Vjb25kYXJ5eWVsbG93MTAwOiByZ2JhKDI0MSwgMTkzLCA0MywgMSk7XG4kc2Vjb25kYXJ5eWVsbG93MTAwaGV4OiAjZjFjMTJiO1xuJHNlY29uZGFyeXllbGxvdzgwOiByZ2JhKDI0NCwgMjA4LCA5MywgMSk7XG4kc2Vjb25kYXJ5eWVsbG93ODBoZXg6ICNmNGQwNWQ7XG4kc2Vjb25kYXJ5eWVsbG93NjA6IHJnYmEoMjQ2LCAyMTgsIDEzNCwgMSk7XG4kc2Vjb25kYXJ5eWVsbG93NjBoZXg6ICNmNmRhODY7XG4kc2Vjb25kYXJ5eWVsbG93NDA6IHJnYmEoMjQ5LCAyMjgsIDE3MiwgMSk7XG4kc2Vjb25kYXJ5eWVsbG93NDBoZXg6ICNmOWU0YWM7XG4kc2Vjb25kYXJ5eWVsbG93MjA6IHJnYmEoMjUxLCAyNDAsIDIxMCwgMSk7XG4kc2Vjb25kYXJ5eWVsbG93MjBoZXg6ICNmYmYwZDI7XG5cbiRzZWNvbmRhcnlvcmFuZ2UxMDA6IHJnYmEoMjM5LCAxMjksIDQ0LCAxKTtcbiRzZWNvbmRhcnlvcmFuZ2UxMDBoZXg6ICNlZjgxMmM7XG4kc2Vjb25kYXJ5b3JhbmdlODA6IHJnYmEoMjQzLCAxNTEsIDgzLCAxKTtcbiRzZWNvbmRhcnlvcmFuZ2U4MGhleDogI2YzOTc1MztcbiRzZWNvbmRhcnlvcmFuZ2U2MDogcmdiYSgyNDYsIDE3NSwgMTIwLCAxKTtcbiRzZWNvbmRhcnlvcmFuZ2U2MGhleDogI2Y2YWY3ODtcbiRzZWNvbmRhcnlvcmFuZ2U0MDogcmdiYSgyNDksIDIwMCwgMTYwLCAxKTtcbiRzZWNvbmRhcnlvcmFuZ2U0MGhleDogI2Y5YzhhMDtcbiRzZWNvbmRhcnlvcmFuZ2UyMDogcmdiYSgyNTIsIDIyNSwgMjAzLCAxKTtcbiRzZWNvbmRhcnlvcmFuZ2UyMGhleDogI2ZjZTFjYjtcblxuJHNlY29uZGFyeW9jaHJlMTAwOiByZ2JhKDIzMCwgOTQsIDYzLCAxKTtcbiRzZWNvbmRhcnlvY2hyZTEwMGhleDogI2U2NWUzZjtcbiRzZWNvbmRhcnlvY2hyZTgwOiByZ2JhKDIzNCwgMTI1LCA5MywgMSk7XG4kc2Vjb25kYXJ5b2NocmU4MGhleDogI2VhN2Q1ZDtcbiRzZWNvbmRhcnlvY2hyZTYwOiByZ2JhKDIzOSwgMTU0LCAxMjUsIDEpO1xuJHNlY29uZGFyeW9jaHJlNjBoZXg6ICNlZjlhN2Q7XG4kc2Vjb25kYXJ5b2NocmU0MDogcmdiYSgyNDQsIDE4NSwgMTYyLCAxKTtcbiRzZWNvbmRhcnlvY2hyZTQwaGV4OiAjZjRiOWEyO1xuJHNlY29uZGFyeW9jaHJlMjA6IHJnYmEoMjQ5LCAyMTgsIDIwOCwgMSk7XG4kc2Vjb25kYXJ5b2NocmUyMGhleDogI2Y5ZGFkMDtcblxuJHNlY29uZGFyeW1hZ2VudGExMDA6IHJnYmEoMjMwLCAyOCwgNjcsIDEpO1xuJHNlY29uZGFyeW1hZ2VudGExMDBoZXg6ICNlNjFjNDM7XG4kc2Vjb25kYXJ5bWFnZW50YTgwOiByZ2JhKDIzNCwgOTAsIDkyLCAxKTtcbiRzZWNvbmRhcnltYWdlbnRhODBoZXg6ICNlYTVhNWM7XG4kc2Vjb25kYXJ5bWFnZW50YTYwOiByZ2JhKDIzOCwgMTMxLCAxMjMsIDEpO1xuJHNlY29uZGFyeW1hZ2VudGE2MGhleDogI2VlODM3YjtcbiRzZWNvbmRhcnltYWdlbnRhNDA6IHJnYmEoMjQ0LCAxNjksIDE1OSwgMSk7XG4kc2Vjb25kYXJ5bWFnZW50YTQwaGV4OiAjZjRhOTlmO1xuJHNlY29uZGFyeW1hZ2VudGEyMDogcmdiYSgyNDksIDIxMCwgMjAyLCAxKTtcbiRzZWNvbmRhcnltYWdlbnRhMjBoZXg6ICNmOWQyY2E7XG5cbiRzZWNvbmRhcnl2aW9sZXQxMDA6IHJnYmEoMTc3LCA2MywgMTI4LCAxKTtcbiRzZWNvbmRhcnl2aW9sZXQxMDBoZXg6ICNiMTNmODA7XG4kc2Vjb25kYXJ5dmlvbGV0ODA6IHJnYmEoMTg5LCAxMDIsIDE0OCwgMSk7XG4kc2Vjb25kYXJ5dmlvbGV0ODBoZXg6ICNiZDY2OTQ7XG4kc2Vjb25kYXJ5dmlvbGV0NjA6IHJnYmEoMjAyLCAxMzYsIDE2OSwgMSk7XG4kc2Vjb25kYXJ5dmlvbGV0NjBoZXg6ICNjYTg4YTk7XG4kc2Vjb25kYXJ5dmlvbGV0NDA6IHJnYmEoMjE2LCAxNzEsIDE5MywgMSk7XG4kc2Vjb25kYXJ5dmlvbGV0NDBoZXg6ICNkOGFiYzE7XG4kc2Vjb25kYXJ5dmlvbGV0MjA6IHJnYmEoMjMzLCAyMTAsIDIyMSwgMSk7XG4kc2Vjb25kYXJ5dmlvbGV0MjBoZXg6ICNlOWQyZGQ7XG5cbiRzZWNvbmRhcnlwdXJwbGUxMDA6IHJnYmEoMTEzLCAzOCwgMTEwLCAxKTtcbiRzZWNvbmRhcnlwdXJwbGUxMDBoZXg6ICM3MTI2NmU7XG4kc2Vjb25kYXJ5cHVycGxlODA6IHJnYmEoMTMzLCA3NiwgMTI5LCAxKTtcbiRzZWNvbmRhcnlwdXJwbGU4MGhleDogIzg1NGM4MTtcbiRzZWNvbmRhcnlwdXJwbGU2MDogcmdiYSgxMTUsIDExMiwgMTUyLCAxKTtcbiRzZWNvbmRhcnlwdXJwbGU2MGhleDogIzczNzA5ODtcbiRzZWNvbmRhcnlwdXJwbGU0MDogcmdiYSgxODEsIDE1MCwgMTc5LCAxKTtcbiRzZWNvbmRhcnlwdXJwbGU0MGhleDogI2I1OTZiMztcbiRzZWNvbmRhcnlwdXJwbGUyMDogcmdiYSgyMTIsIDE5NiwgMjEyLCAxKTtcbiRzZWNvbmRhcnlwdXJwbGUyMGhleDogI2Q0YzRkNDtcblxuJHRlcnRpYXJ5Ymx1ZTEwMDogcmdiYSgwLCA0NywgNjksIDEpO1xuJHRlcnRpYXJ5Ymx1ZTEwMGhleDogIzAwMmY0NTtcbiR0ZXJ0aWFyeWJsdWU4MDogcmdiYSg0NCwgNzMsIDk0LCAxKTtcbiR0ZXJ0aWFyeWJsdWU4MGhleDogIzJjNDk1ZTtcbiR0ZXJ0aWFyeWJsdWU2MDogcmdiYSg4NCwgMTA0LCAxMjQsIDEpO1xuJHRlcnRpYXJ5Ymx1ZTYwaGV4OiAjNTQ2ODdjO1xuJHRlcnRpYXJ5Ymx1ZTQwOiByZ2JhKDEyOSwgMTQzLCAxNTksIDEpO1xuJHRlcnRpYXJ5Ymx1ZTQwaGV4OiAjODE4ZjlmO1xuJHRlcnRpYXJ5Ymx1ZTIwOiByZ2JhKDE4MiwgMTg5LCAyMDAsIDEpO1xuJHRlcnRpYXJ5Ymx1ZTIwaGV4OiAjYjZiZGM4O1xuXG4kdGVydGlhcnlncmVlbjEwMDogcmdiYSg2NiwgODUsIDUzLCAxKTtcbiR0ZXJ0aWFyeWdyZWVuMTAwaGV4OiAjNDI1NTM1O1xuJHRlcnRpYXJ5Z3JlZW44MDogcmdiYSg5NCwgMTA4LCA4MSwgMSk7XG4kdGVydGlhcnlncmVlbjgwaGV4OiAjNWU2YzUxO1xuJHRlcnRpYXJ5Z3JlZW42MDogcmdiYSgxMjYsIDEzNSwgMTEyLCAxKTtcbiR0ZXJ0aWFyeWdyZWVuNjBoZXg6ICM3ZTg3NzA7XG4kdGVydGlhcnlncmVlbjQwOiByZ2JhKDIzOCwgMjAwLCAxNTgsIDEpO1xuJHRlcnRpYXJ5Z3JlZW40MGhleDogI2VlYzg5ZTtcbiR0ZXJ0aWFyeWdyZWVuMjA6IHJnYmEoMjAwLCAyMDQsIDE5NCwgMSk7XG4kdGVydGlhcnlncmVlbjIwaGV4OiAjYzhjY2MyO1xuXG4kdGVydGlhcnl5ZWxsb3cxMDA6IHJnYmEoMjE1LCAxMzcsIDQ0LCAxKTtcbiR0ZXJ0aWFyeXllbGxvdzEwMGhleDogI2Q3ODkyYztcbiR0ZXJ0aWFyeXllbGxvdzgwOiByZ2JhKDIyMywgMTU5LCA4MywgMSk7XG4kdGVydGlhcnl5ZWxsb3c4MGhleDogI2RmOWY1MztcbiR0ZXJ0aWFyeXllbGxvdzYwOiByZ2JhKDIzMSwgMTc4LCAxMTksIDEpO1xuJHRlcnRpYXJ5eWVsbG93NjBoZXg6ICNlN2IyNzc7XG4kdGVydGlhcnl5ZWxsb3c0MDogcmdiYSgyNTQsIDIxMywgMTY3LCAxKTtcbiR0ZXJ0aWFyeXllbGxvdzQwaGV4OiAjZmVkNWE3O1xuJHRlcnRpYXJ5eWVsbG93MjA6IHJnYmEoMjQ2LCAyMjQsIDIwMCwgMSk7XG4kdGVydGlhcnl5ZWxsb3cyMGhleDogI2Y2ZTBjODtcblxuJHRlcnRpYXJ5Z29sZDEwMDogcmdiYSgyNDksIDE1NywgNTEsIDEpO1xuJHRlcnRpYXJ5Z29sZDEwMGhleDogI2Y5OWQzMztcbiR0ZXJ0aWFyeWdvbGQ4MDogcmdiYSgyNTEsIDE3NSwgOTMsIDEpO1xuJHRlcnRpYXJ5Z29sZDgwaGV4OiAjZmJhZjVkO1xuJHRlcnRpYXJ5Z29sZDYwOiByZ2JhKDI1MywgMTk0LCAxMjksIDEpO1xuJHRlcnRpYXJ5Z29sZDYwaGV4OiAjZmRjMjgxO1xuJHRlcnRpYXJ5Z29sZDQwOiByZ2JhKDI1NCwgMjEzLCAxNjcsIDEpO1xuJHRlcnRpYXJ5Z29sZDQwaGV4OiAjZmVkNWE3O1xuJHRlcnRpYXJ5Z29sZDIwOiByZ2JhKDI1NSwgMjMyLCAyMDcsIDEpO1xuJHRlcnRpYXJ5Z29sZDIwaGV4OiAjZmZlOGNmO1xuXG4kdGVydGlhcnlvcmFuZ2UxMDA6IHJnYmEoMjQ0LCAxMTgsIDY0LCAxKTtcbiR0ZXJ0aWFyeW9yYW5nZTEwMGhleDogI2Y0NzY0MDtcbiR0ZXJ0aWFyeW9yYW5nZTgwOiByZ2JhKDI0NiwgMTQzLCA5NiwgMSk7XG4kdGVydGlhcnlvcmFuZ2U4MGhleDogI2Y2OGY2MDtcbiR0ZXJ0aWFyeW9yYW5nZTYwOiByZ2JhKDI0OSwgMTY5LCAxMjksIDEpO1xuJHRlcnRpYXJ5b3JhbmdlNjBoZXg6ICNmOWE5ODE7XG4kdGVydGlhcnlvcmFuZ2U0MDogcmdiYSgyNTIsIDE5NiwgMTY1LCAxKTtcbiR0ZXJ0aWFyeW9yYW5nZTQwaGV4OiAjZmNjNGE1O1xuJHRlcnRpYXJ5b3JhbmdlMjA6IHJnYmEoMjU0LCAyMjQsIDIwNiwgMSk7XG4kdGVydGlhcnlvcmFuZ2UyMGhleDogI2ZlZTBjZTtcblxuJHRlcnRpYXJ5cmVkMTAwOiByZ2JhKDE2OCwgNzIsIDU1LCAxKTtcbiR0ZXJ0aWFyeXJlZDEwMGhleDogI2E4NDgzNztcbiR0ZXJ0aWFyeXJlZDgwOiByZ2JhKDE4MiwgMTAyLCA4MywgMSk7XG4kdGVydGlhcnlyZWQ4MGhleDogI2I2NjY1MztcbiR0ZXJ0aWFyeXJlZDYwOiByZ2JhKDE5NiwgMTMyLCAxMTMsIDEpO1xuJHRlcnRpYXJ5cmVkNjBoZXg6ICNjNDg0NzE7XG4kdGVydGlhcnlyZWQ0MDogcmdiYSgyMTMsIDE2NywgMTUxLCAxKTtcbiR0ZXJ0aWFyeXJlZDQwaGV4OiAjZDVhNzk3O1xuJHRlcnRpYXJ5cmVkMjA6IHJnYmEoMjMwLCAyMDUsIDE5NSwgMSk7XG4kdGVydGlhcnlyZWQyMGhleDogI2U2Y2RjMztcbiIsIiRmb250OiBBc2FwLCBzYW5zLXNlcmlmO1xuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNi4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcInRvYXN0c1wiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpICogLjAwMTtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMikgIT0gbnVtYmVyIHtcbiAgICAkdmFsdWUyOiB1bnF1b3RlKFwiKFwiKSArICR2YWx1ZTIgKyB1bnF1b3RlKFwiKVwiKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgc2l6ZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbnZpc2libGUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lciAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtcGFkZGluZy14ICogNCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtcGFkZGluZy14ICogMiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCgpIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1sZWZ0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LXJpZ2h0KCkge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1yaWdodGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1ub25lKCkge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LW5vbmVgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmJ0bixcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBjb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX0gbm8tcmVwZWF0O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3csICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0ICogLjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6ICRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14ICogLjU7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoICogLjU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxpZ25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9ib3JkZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZW1iZWRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxleFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbG9hdFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9pbnRlcmFjdGlvbnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2NyZWVucmVhZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaGFkb3dzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NpemluZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3N0cmV0Y2hlZC1saW5rXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmlzaWJpbGl0eVwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoZGl2aWRlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15LCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FDQUE7O3dDQUV3QztBR0Z4Qzs7Ozs7R0FLRztBb0NMSCxBQUFBLEtBQUssQ0FBQztFQUdGLE1BQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsS0FBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLEtBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLFdBQVcsQ0FBRSxRQUFDO0VBSWQsU0FBVyxDQUFFLFFBQUM7RUFBZCxXQUFXLENBQUUsUUFBQztFQUFkLFNBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxTQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUlkLGVBQW1CLENBQWEsRUFBQztFQUFqQyxlQUFtQixDQUFhLE1BQUM7RUFBakMsZUFBbUIsQ0FBYSxNQUFDO0VBQWpDLGVBQW1CLENBQWEsTUFBQztFQUFqQyxlQUFtQixDQUFhLE9BQUM7RUFLbkMsd0JBQXdCLENBQUEseU1BQUM7RUFDekIsdUJBQXVCLENBQUEscUZBQUM7Q0FDekI7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LEU5QnNCQSxTQUE0QztHOEJyQnREO0VEcEJHLEFBQUEsWUFBWSxDQUFPO0lDQ3ZCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHRERWO0VBSUcsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBbUM7SUFJN0MsU0FBUyxFQUFFLFFBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FBUyxFQUFFLEdBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FBUyxFQUFFLEdBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FB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UyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQztHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQW1DO0lBSTdDLFNBQVMsRUFBRSxJQUFtQztHRFdyQztFQUlMLEFBQUEsZUFB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QSxTQUE0QztHOEJyQnREO0VEcEJHLEFBQUEsWUFBWSxDQUFPO0lDQ3ZCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsSUFBSTtHRERWO0VBSUcsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBbUM7SUFJN0MsU0FBUyxFQUFFLFFBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FBUyxFQUFFLEdBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FBUyxFQUFFLEdBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUM7SUFJN0MsU0FBUyxFQUFFLFNBQW1DO0dEV3JDO0VBRkQsQUFBQSxTQUFTLENBQVc7SUNiNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBbUM7SUFJN0MsU0FBUyxFQUFF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 */
