/*!
 * Bootstrap v4.6.0 (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: .5rem;
}

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

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

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

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

label {
  display: inline-block;
  margin-bottom: .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: .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: .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: .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\A0";
}

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

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

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: .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: .2rem .4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: .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: .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: .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 + .75rem + 2px);
  padding: .375rem .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: .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:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

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

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

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

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

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

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

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

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

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

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: .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 + .5rem + 2px);
  padding: .25rem .5rem;
  font-size: .875rem;
  line-height: 1.5;
  border-radius: .2rem;
}

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .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: .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: .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: .75rem;
}

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

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

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: .25rem .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40,167,69,0.9);
  border-radius: .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 + .75rem);
  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(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

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

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

.was-validated .custom-select:valid,
.custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(.75em + 2.3125rem);
  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 .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(.75em + .375rem) calc(.75em + .375rem) no-repeat;
}

.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 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 .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 .2rem rgba(40,167,69,0.25);
}

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

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: .25rem .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220,53,69,0.9);
  border-radius: .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 + .75rem);
  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(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

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

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

.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(.75em + 2.3125rem);
  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 .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(.75em + .375rem) calc(.75em + .375rem) no-repeat;
}

.was-validated .custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 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 .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 .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: .25rem;
    margin-left: 0;
  }

  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }

  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .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 .2rem rgba(0,123,255,0.25);
}

.btn.disabled,
.btn:disabled {
  opacity: .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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 .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: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .3rem;
}

.btn-sm,
.btn-group-sm>.btn {
  padding: .25rem .5rem;
  font-size: .875rem;
  line-height: 1.5;
  border-radius: .2rem;
}

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

.btn-block+.btn-block {
  margin-top: .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: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .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: .5rem 0;
  margin: .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: .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: .125rem;
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: 0;
  border-right: .3em solid transparent;
  border-bottom: .3em solid;
  border-left: .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: .125rem;
}

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: 0;
  border-bottom: .3em solid transparent;
  border-left: .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: .125rem;
}

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

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

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid transparent;
  border-right: .3em solid;
  border-bottom: .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: .5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: .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: .5rem 1.5rem;
  margin-bottom: 0;
  font-size: .875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: .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: .5625rem;
  padding-left: .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: .375rem;
  padding-left: .375rem;
}

.btn-lg+.dropdown-toggle-split,
.btn-group-lg>.btn+.dropdown-toggle-split {
  padding-right: .75rem;
  padding-left: .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(: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::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::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: .375rem .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: .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: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .3rem;
}

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

.custom-switch .custom-control-label::after {
  top: calc(.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #adb5bd;
  border-radius: .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(.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 + .75rem + 2px);
  padding: .375rem 1.75rem .375rem .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 .75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  appearance: none;
}

.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 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: .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 + .5rem + 2px);
  padding-top: .25rem;
  padding-bottom: .25rem;
  padding-left: .5rem;
  font-size: .875rem;
}

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

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

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

.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 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 + .75rem + 2px);
  padding: .375rem .75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: .25rem;
}

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

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

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

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

.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff,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 .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: -.25rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
  appearance: none;
}

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

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

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

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

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

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

.custom-range::-moz-range-track {
  width: 100%;
  height: .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: .2rem;
  margin-left: .2rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
  appearance: none;
}

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

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

.custom-range::-ms-track {
  width: 100%;
  height: .5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: .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: .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: .25rem;
  border-top-right-radius: .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: .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: .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: .3125rem;
  padding-bottom: .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: .5rem;
  padding-bottom: .5rem;
}

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

.navbar-toggler {
  padding: .25rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: .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: .5rem;
    padding-left: .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: .5rem;
    padding-left: .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: .5rem;
    padding-left: .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: .5rem;
    padding-left: .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: .5rem;
  padding-left: .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: .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(.25rem - 1px);
  border-top-right-radius: calc(.25rem - 1px);
}

.card>.list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.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: .75rem;
}

.card-subtitle {
  margin-top: -.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: .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(.25rem - 1px) calc(.25rem - 1px) 0 0;
}

.card-footer {
  padding: .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(.25rem - 1px) calc(.25rem - 1px);
}

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

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

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(.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(.25rem - 1px);
  border-top-right-radius: calc(.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.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: .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: .75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: .25rem;
}

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

.breadcrumb-item+.breadcrumb-item::before {
  float: left;
  padding-right: .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: .25rem;
}

.page-link {
  position: relative;
  display: block;
  padding: .5rem .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 .2rem rgba(0,123,255,0.25);
}

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

.page-item:last-child .page-link {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .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: .75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

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

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

.pagination-sm .page-link {
  padding: .25rem .5rem;
  font-size: .875rem;
  line-height: 1.5;
}

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

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

.badge {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .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: .6em;
  padding-left: .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 .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 .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 .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 .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 .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 .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 .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 .2rem rgba(52,58,64,0.5);
}

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

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

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

.alert {
  position: relative;
  padding: .75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: .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: .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: .75rem;
  background-color: #e9ecef;
  border-radius: .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: .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: .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: .25rem;
  border-top-right-radius: 0;
}

.list-group-horizontal>.list-group-item:last-child {
  border-top-right-radius: .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: .25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-sm>.list-group-item:last-child {
    border-top-right-radius: .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: .25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-md>.list-group-item:last-child {
    border-top-right-radius: .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: .25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-lg>.list-group-item:last-child {
    border-top-right-radius: .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: .25rem;
    border-top-right-radius: 0;
  }

  .list-group-horizontal-xl>.list-group-item:last-child {
    border-top-right-radius: .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: .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: .25rem;
}

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

.toast.showing {
  opacity: 1;
}

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

.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: .25rem .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(.25rem - 1px);
  border-top-right-radius: calc(.25rem - 1px);
}

.toast-body {
  padding: .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: .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: .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: .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(.3rem - 1px);
  border-top-right-radius: calc(.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: .75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(.3rem - 1px);
  border-bottom-left-radius: calc(.3rem - 1px);
}

.modal-footer>* {
  margin: .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: .875rem;
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: .9;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: .8rem;
  height: .4rem;
}

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

.bs-tooltip-top,
.bs-tooltip-auto[x-placement^="top"] {
  padding: .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: .4rem .4rem 0;
  border-top-color: #000;
}

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

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

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

.bs-tooltip-bottom,
.bs-tooltip-auto[x-placement^="bottom"] {
  padding: .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 .4rem .4rem;
  border-bottom-color: #000;
}

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

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

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

.tooltip-inner {
  max-width: 200px;
  padding: .25rem .5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: .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: .875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: .3rem;
}

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: .5rem;
  margin: 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: .5rem;
}

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

.bs-popover-top>.arrow::before,
.bs-popover-auto[x-placement^="top"]>.arrow::before {
  bottom: 0;
  border-width: .5rem .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: .5rem .5rem 0;
  border-top-color: #fff;
}

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

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

.bs-popover-right>.arrow::before,
.bs-popover-auto[x-placement^="right"]>.arrow::before {
  left: 0;
  border-width: .5rem .5rem .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: .5rem .5rem .5rem 0;
  border-right-color: #fff;
}

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

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

.bs-popover-bottom>.arrow::before,
.bs-popover-auto[x-placement^="bottom"]>.arrow::before {
  top: 0;
  border-width: 0 .5rem .5rem .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 .5rem .5rem .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: -.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

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

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

.bs-popover-left>.arrow::before,
.bs-popover-auto[x-placement^="left"]>.arrow::before {
  right: 0;
  border-width: .5rem 0 .5rem .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: .5rem 0 .5rem .5rem;
  border-left-color: #fff;
}

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

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

.popover-body {
  padding: .5rem .75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

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

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

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

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform .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 .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%;
  color: #fff;
  text-align: center;
  opacity: .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: .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: text-bottom;
  border: .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: .2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }

  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  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: .2rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

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

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

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

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

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

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

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

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

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

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

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

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

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

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

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

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

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

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

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

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

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

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

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

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

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

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

@media print {
  .d-print-none {
    display: none !important;
  }

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

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

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

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

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

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

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

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

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }

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

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

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }

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

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

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }

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

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

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }

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

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

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

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

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

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

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

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ml-2,
.mx-2 {
  margin-left: .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: .25rem !important;
}

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

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

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

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

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

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

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

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

.pl-2,
.px-2 {
  padding-left: .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: -.25rem !important;
}

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

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

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

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

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

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

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

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

.ml-n2,
.mx-n2 {
  margin-left: -.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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-sm-2,
  .mx-sm-2 {
    margin-left: .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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .pl-sm-2,
  .px-sm-2 {
    padding-left: .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: -.25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -.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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-md-2,
  .mx-md-2 {
    margin-left: .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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .pl-md-2,
  .px-md-2 {
    padding-left: .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: -.25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -.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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-lg-2,
  .mx-lg-2 {
    margin-left: .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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .pl-lg-2,
  .px-lg-2 {
    padding-left: .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: -.25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -.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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-xl-2,
  .mx-xl-2 {
    margin-left: .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: .25rem !important;
  }

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

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

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

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

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

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

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

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

  .pl-xl-2,
  .px-xl-2 {
    padding-left: .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: -.25rem !important;
  }

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

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

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

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

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

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

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

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

  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -.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;
  }

  thead {
    display: table-header-group;
  }

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

/*
 * Web Fonts from fontspring.com
 *
 * All OpenType features and all extended glyphs have been removed.
 * Fully installable fonts can be purchased at http://www.fontspring.com
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased
 * from Fontspring. The fonts are protected under domestic and international trademark and
 * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
 * distributing this font software.
 *
 * (c) 2010-2014 Fontspring
 *
 *
 *
 *
 * The fonts included are copyrighted by the vendor listed below.
 *
 * Vendor:      Synthview Type Design
 * License URL: http://www.fontspring.com/licenses/synthview/webfont
 *
 *
 */
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-Light-webfont.17c6a771.eot);
  src: url(/build/fonts/Novecentosanswide-Light-webfont.17c6a771.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-Light-webfont.bf8699c1.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-Light-webfont.46a36c1b.woff) format('woff'), url(/build/fonts/Novecentosanswide-Light-webfont.d1797076.ttf) format('truetype'), url(/build/images/Novecentosanswide-Light-webfont.bd95df1f.svg#novecento_sans_widelight) format('svg');
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-Book-webfont.9a705eb0.eot);
  src: url(/build/fonts/Novecentosanswide-Book-webfont.9a705eb0.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-Book-webfont.c5cdcfdc.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-Book-webfont.708a1faf.woff) format('woff'), url(/build/fonts/Novecentosanswide-Book-webfont.23be6184.ttf) format('truetype'), url(/build/images/Novecentosanswide-Book-webfont.2355bacb.svg#novecento_sans_wide_bookbold) format('svg');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-Normal-webfont.86856ad6.eot);
  src: url(/build/fonts/Novecentosanswide-Normal-webfont.86856ad6.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-Normal-webfont.35650519.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-Normal-webfont.ffa36943.woff) format('woff'), url(/build/fonts/Novecentosanswide-Normal-webfont.f3eb2406.ttf) format('truetype'), url(/build/images/Novecentosanswide-Normal-webfont.930ce310.svg#novecento_sans_widenormal) format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-Medium-webfont.f1ad1343.eot);
  src: url(/build/fonts/Novecentosanswide-Medium-webfont.f1ad1343.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-Medium-webfont.5c1eeec8.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-Medium-webfont.7b15943b.woff) format('woff'), url(/build/fonts/Novecentosanswide-Medium-webfont.068ae878.ttf) format('truetype'), url(/build/images/Novecentosanswide-Medium-webfont.3d58aa7b.svg#novecento_sans_widemedium) format('svg');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-DemiBold-webfont.e22ee5c5.eot);
  src: url(/build/fonts/Novecentosanswide-DemiBold-webfont.e22ee5c5.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-DemiBold-webfont.5626b813.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-DemiBold-webfont.12a593df.woff) format('woff'), url(/build/fonts/Novecentosanswide-DemiBold-webfont.351016ca.ttf) format('truetype'), url(/build/images/Novecentosanswide-DemiBold-webfont.e61679b8.svg#novecento_sans_wide_bookbold) format('svg');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Novecento Sans Wide';
  src: url(/build/fonts/Novecentosanswide-Bold-webfont.dcc97f3e.eot);
  src: url(/build/fonts/Novecentosanswide-Bold-webfont.dcc97f3e.eot?#iefix) format('embedded-opentype'), url(/build/fonts/Novecentosanswide-Bold-webfont.ee5d8b19.woff2) format('woff2'), url(/build/fonts/Novecentosanswide-Bold-webfont.c64b7867.woff) format('woff'), url(/build/fonts/Novecentosanswide-Bold-webfont.d7964a6f.ttf) format('truetype'), url(/build/images/Novecentosanswide-Bold-webfont.21d0ab84.svg#novecento_sans_wide_bookbold) format('svg');
  font-weight: 700;
  font-style: normal;
}
@font-face {
    font-family: 'Sorts Mill Goudy';
    src: url(/build/fonts/GoudyStM-webfont.32e5477e.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Sorts Mill Goudy';
    src: url(/build/fonts/GoudyStM-Italic-webfont.1f994e1e.woff) format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-black-webfont.dda91665.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-black-webfont.eadb4d2f.woff) format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-blackitalic-webfont.0e05bc72.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-blackitalic-webfont.fcabd6e2.woff) format('woff');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-bold-webfont.61afea60.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-bold-webfont.9a59e6e1.woff) format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-bolditalic-webfont.8babced2.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-bolditalic-webfont.a0c5d691.woff) format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-italic-webfont.e9d232da.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-italic-webfont.3cca2d5d.woff) format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/build/fonts/playfairdisplay-regular-webfont.a653f147.woff2) format('woff2'),
         url(/build/fonts/playfairdisplay-regular-webfont.e87eb1bc.woff) format('woff');
    font-weight: normal;
    font-style: normal;
}
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
  .pswp * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .pswp img {
    max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
          transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
          transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
          transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
	
	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  -webkit-transition: opacity 0.2s;
          transition: opacity 0.2s;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .pswp__button:focus, .pswp__button:hover {
    opacity: 1; }
  .pswp__button:active {
    outline: none;
    opacity: 0.9; }
  .pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(/build/images/default-skin.e3f799c6.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(/build/images/default-skin.b257fa9c.svg); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }

.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
          transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
      -ms-transform: translateY(6px);
          transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
          transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }
  .pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }
    .pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }
    .pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }
    .pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }
  .pswp__share-modal--fade-in .pswp__share-tooltip {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }

a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }
  a.pswp__share--facebook:hover:before {
    border-bottom-color: #3E5C9A; }

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }

a.pswp__share--download:hover {
  background: #DDD; }

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }

/*
	
	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }
  .pswp__caption small {
    font-size: 11px;
    color: #BBB; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }

.pswp__caption--empty {
  display: none; }

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
          transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }
  .pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(/build/images/preloader.e34aafbb.gif) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    -webkit-animation: clockwise 500ms linear infinite;
            animation: clockwise 500ms linear infinite; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
            animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }

.pswp--css_animation .pswp__preloader__cut {
  /* 
			The idea of animating inner circle is based on Polymer ("material") loading indicator 
			 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
		*/
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }

.pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }

@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

/*
	
	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
          transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }
html,
body {
  height: 100%;
}

#footer {
  padding: 2em 1em;
  text-align: center;
  color: #d0d0d0;
  font-size: 0.8em;
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  transition: color 200ms ease;
}

#footer:hover {
  color: #aaa;
}

#footer:hover a {
  color: #aaa;
}

#footer a {
  transition: color 200ms ease;
  color: #d0d0d0;
  text-decoration: underline;
}

#footer a:hover {
  color: black;
}

[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
  display: none !important;
}

.inner {
  max-width: 75vw;
  margin: 0 1rem 0 auto;
  position: relative;
}

@media only screen and (min-width: 640px) {
  .inner {
    margin: 0 2rem 0 auto;
  }
}

@media only screen and (min-width: 960px) {
  .inner {
    max-width: 680px;
    margin: 0 auto;
  }
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

h1,
h2,
h3 {
  font-family: "Playfair Display",serif;
  font-weight: 600;
}

h1 a,
h2 a,
h3 a {
  color: inherit;
  text-decoration: none;
}

h1 a:hover,
h2 a:hover,
h3 a:hover {
  color: inherit;
  text-decoration: none;
}

h1 {
  margin: 0 0 1em;
  padding-top: 3em;
  font-size: 2rem;
  text-align: center;
  font-family: "Novecento Sans Wide",sans-serif;
  text-transform: uppercase;
}

h1:after {
  content: '';
  display: block;
  margin: 20px auto 40px;
  height: 0;
  width: 40px;
  border-bottom: 2px solid black;
}

h3 {
  margin: 1.5em 0 0;
  font-size: 1rem;
}

form {
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  max-width: 640px;
  margin: 0 auto;
  padding-bottom: 2em;
}

.green {
  color: #38a745;
}

.orange {
  color: #f5c109;
}

.red {
  color: #dc3545;
}

.alert {
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

.back-standalone,
.button-right {
  position: absolute;
  padding: 0.5em;
  margin: 0.5em;
  display: inline-block;
  color: black;
  font-family: "Novecento Sans Wide",sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1;
}

.back-standalone:hover,
.button-right:hover {
  text-decoration: none;
}

.button-right {
  right: 0;
}

.alert {
  padding: 0.5rem 1.25rem;
  color: white;
  border: 0;
}

.alert-success {
  background: #38a745;
  background: linear-gradient(90deg, #38a745 0%, #38a788 100%);
}

.alert-warning {
  background: #f5c109;
  background: linear-gradient(90deg, #f5c109 0%, #f5a709 100%);
}

.alert-danger {
  background: #dc3545;
  background: linear-gradient(90deg, #dc3545 0%, #dc3570 100%);
}

@media only screen and (min-width: 640px) {
  .back-standalone,
  .button-right {
    padding: 1em;
    margin: 1em;
  }
}

.pswp__bg {
  background: rgba(238,238,238,0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.pswp__zoom-wrap {
  filter: drop-shadow(0.2rem 0.2rem 0.5rem rgba(0,0,0,0.3));
}

.pswp__button.pswp__button--close {
  background-image: url(/build/images/default-skin.a118c1f9.png);
}

.form-block {
  position: relative;
  margin-bottom: 1rem;
}

.form-block .hint {
  font-size: 0.8em;
  font-style: italic;
}

.form-block .hint:empty {
  display: none;
}

.form-block .autocomplete-items {
  margin-top: 3px;
  position: absolute;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background: #fff;
  width: 100%;
  z-index: 2;
  box-shadow: 0 0 16px 0 rgba(0,0,0,0.1);
}

.form-block .autocomplete-items>div {
  cursor: pointer;
  padding: .375rem .75rem;
}

.form-block .autocomplete-items>div:hover {
  background: #eee;
}

.form-attributes {
  width: 100%;
}

.form-attributes .row+.row {
  margin-top: 0.5rem;
}

#country-list .flag {
  max-height: 1.5em;
  margin: -0.25em 0;
}

#country-list td.actions {
  text-align: right;
}

#shelf-life {
  position: relative;
  width: 960px;
  margin: auto;
  padding: 1em 1em 120px;
  z-index: -1;
}

#shelf-life h1 {
  padding-top: 2em;
}

#shelf-life img {
  display: block;
  width: 100%;
}

#shelf-life-caption {
  width: 960px;
  position: fixed;
  bottom: 0;
  left: calc((100vw - 973px) / 2);
  padding: 3em 1em 1em;
  background: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 20%);
}

@media screen and (max-width: 980px) {
  #shelf-life {
    width: 100%;
  }

  #shelf-life-caption {
    width: 100%;
    left: 0;
  }
}

#wine-detail {
  padding-bottom: 2em;
}

#wine-detail h2 {
  margin: 150px 0 20px;
  font-size: 2em;
}

#wine-detail h2 span {
  font-weight: normal;
  color: #aaa;
}

#wine-detail h3 {
  position: relative;
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 12px;
  font-weight: bold;
  color: #aaa;
}

#wine-detail form {
  margin: 0;
}

#wine-detail .subtitle {
  display: block;
  font-family: "Playfair Display",serif;
  margin: -20px 0 20px;
  font-size: 1.5em;
  font-weight: normal;
  color: #aaa;
}

#wine-detail a {
  color: inherit;
}

#wine-detail #wine-bottle {
  position: fixed;
  top: calc(75px + 120px - 12.5vw);
  right: calc(75vw + 2.5rem);
  height: auto;
  width: 25vw;
  filter: drop-shadow(0.2rem 0.2rem 0.5rem rgba(0,0,0,0.3));
  cursor: pointer;
}

#wine-detail .origin {
  font-size: 1.2em;
  font-weight: 300;
  color: #aaa;
}

#wine-detail .origin img {
  width: auto;
  max-height: 0.75em;
  vertical-align: baseline;
  margin-right: 0.3em;
}

#wine-detail .text-big .text-small {
  line-height: 1.5;
  text-align: justify;
  hyphens: auto;
  white-space: pre-line;
}

#wine-detail .text-big p,
#wine-detail .text-big td {
  font-size: 1.1em;
}

#wine-detail .table-grapes {
  white-space: nowrap;
}

#wine-detail .table-grapes td.percentage {
  color: #aaa;
  text-align: right;
}

#wine-detail .facts-auto>div {
  flex: 1 1 auto;
}

#wine-detail .facts-3>div {
  flex: 1 1 33.33%;
}

#wine-detail .facts-4>div {
  flex: 1 1 25%;
}

#wine-detail .rating {
  margin-bottom: 0.5rem;
}

#wine-detail .rating .points {
  font-size: 1.2em;
}

#wine-detail .rating .max {
  font-size: 0.9em;
  color: #aaa;
}

#wine-detail textarea.notes {
  width: 100%;
  margin: -0.5em;
  padding: 0.5em;
  min-height: 4em;
  cursor: text;
  border: none;
  border-radius: 3px;
  transition: background-color 0.2s ease-out;
}

#wine-detail textarea.notes::placeholder {
  color: #aaa;
  font-style: italic;
}

#wine-detail textarea.notes.open,
#wine-detail textarea.notes:hover,
#wine-detail textarea.notes:focus {
  background-color: #eee;
  outline: none;
}

#wine-detail #notes-controls {
  margin-top: 0.5rem;
  display: none;
}

#wine-header {
  overflow: auto;
  padding-bottom: 20px;
  background: #eee;
}

@media only screen and (min-width: 640px) {
  #wine-detail h2 {
    margin: 250px 0 20px;
    font-size: 3em;
  }

  #wine-detail .origin {
    font-size: 1.5em;
  }

  #wine-detail .text-big p,
  #wine-detail .text-big td {
    font-size: 1.2em;
  }

  #wine-detail .facts-3,
  #wine-detail .facts-4,
  #wine-detail .facts-auto {
    display: flex;
  }

  #wine-detail #wine-bottle {
    right: calc(75vw + 3.5rem);
  }
}

@media only screen and (min-width: 960px) {
  #wine-detail #wine-bottle {
    top: 75px;
    right: calc((100vw - 680px)/2 + 720px);
    height: 75vh;
    min-height: 100px;
    max-height: 750px;
    width: auto;
  }
}

#editform {
  padding: 0.5em;
}

#editform textarea {
  font-family: "FiraCode",monospace;
}

#editform input[type=submit] {
  width: 100%;
}

#editform .custom-file {
  margin-bottom: 1em;
}

#delete {
  position: absolute;
  right: 0;
  padding: 0.5em;
  margin: 0.5em;
  display: inline-block;
  color: #c0392b;
  font-family: "Novecento Sans Wide",sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1;
}

#delete:hover {
  text-decoration: none;
  color: #e74c3c;
}

@media only screen and (min-width: 640px) {
  #editform {
    padding: 0.5em 0.5em 2em;
  }

  #delete {
    padding: 1em;
    margin: 1em;
  }
}

#login {
  display: block;
  position: absolute;
  right: 0;
  width: 25px;
  height: 25px;
}

#search {
  max-width: 500px;
  margin: auto;
  padding: 1em;
}

#wine-list {
  list-style-type: none;
  padding: 0.5em;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

#wine-list li {
  position: relative;
  flex: 1 1 calc(100% - 2em);
  max-width: calc(100% - 2em);
  min-height: calc(120px + 2em);
  margin: 30px 1em 1em;
  padding: 1em 1em 1em calc(2em + 50px);
  background: #eee;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

#wine-list li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#wine-list li.no-results {
  flex: 1 1 100%;
  min-width: 100%;
  padding: 3em 0;
  color: #aaa;
  font-family: "Novecento Sans Wide",sans-serif;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.4em;
  background: transparent;
}

#wine-list li h2 {
  font-family: "Playfair Display",serif;
  text-transform: none;
  font-size: 1.6rem;
  margin: 0.5em 0 0;
}

#wine-list li .bottle {
  position: absolute;
  left: 1em;
  top: calc(1em - 30px);
  text-align: center;
  width: 50px;
}

#wine-list li .bottle img {
  height: 150px;
  width: auto;
  filter: drop-shadow(0.2rem 0.2rem 0.5rem rgba(0,0,0,0.3));
}

#wine-list li .name {
  flex: 1;
}

#wine-list li .year {
  font-family: "Playfair Display",serif;
  font-style: italic;
  font-size: 1.4rem;
  color: #aaa;
}

#wine-list li .year:empty {
  display: none;
}

#wine-list li .subtitle {
  font-family: "Playfair Display",serif;
  color: #aaa;
  text-transform: none;
  font-weight: normal;
  font-size: 1.2rem;
  margin: 0;
}

#wine-list li .subtitle:empty {
  display: none;
}

#wine-list li .grapes {
  flex: 0;
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  color: #aaa;
}

#wine-list .label {
  font-family: "Novecento Sans Wide",sans-serif;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 10px;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

#wine-list .label:after {
  content: '';
  display: block;
  margin: 10px 0 0;
  height: 0;
  width: 40px;
  border-bottom: 2px solid black;
}

#wine-list a {
  color: inherit;
}

#wine-list a:hover {
  text-decoration: none;
}

#actions {
  text-align: center;
  padding-bottom: 2em;
  font-family: "Graphik",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

#actions .btn {
  min-width: 100px;
}

@media only screen and (min-width: 640px) {
  #wine-list li {
    flex: 1 1 calc(50% - 2em);
    max-width: calc(50% - 2em);
  }
}

@media only screen and (min-width: 960px) {
  #search {
    padding: 2em;
  }

  #wine-list {
    padding: 1.5em;
  }

  #wine-list li {
    margin: 60px 1em 1em;
    padding: 1.5em 1.5em 1.5em calc(3em + 80px);
    height: calc(190px + 3em);
  }

  #wine-list li .bottle {
    width: 80px;
    top: calc(1.5em - 60px);
  }

  #wine-list li .bottle img {
    height: 250px;
  }
}

@media only screen and (min-width: 1024px) {
  #wine-list li {
    flex-basis: calc(33.3% - 2em);
    max-width: calc(33.3% - 2em);
  }
}

@media only screen and (min-width: 1600px) {
  #wine-list li {
    flex-basis: calc(25% - 2em);
    max-width: calc(25% - 2em);
  }

  #wine-list .label {
    font-size: 1.1em;
  }
}

@media only screen and (min-width: 1920px) {
  #wine-list li {
    flex-basis: calc(20% - 2em);
    max-width: calc(20% - 2em);
  }

  #wine-list .label {
    font-size: 1.2em;
  }
}

@media only screen and (min-width: 2560px) {
  #wine-list li {
    flex-basis: calc(16.6% - 2em);
    max-width: calc(16.6% - 2em);
  }
}

#loginform {
  max-width: 320px;
}

#loginform input[type=password] {
  margin: 0 0 1em;
}

#loginform input[type=submit] {
  width: 100%;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2ZvbnRzL25vdmVjZW50by13aWRlL25vdmVjZW50by13aWRlLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZm9udHMvc29ydHMtbWlsbC1nb3VkeS9yZWd1bGFyLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZm9udHMvc29ydHMtbWlsbC1nb3VkeS9pdGFsaWMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9mb250cy9wbGF5ZmFpci1kaXNwbGF5L3BsYXlmYWlyLWRpc3BsYXkuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9waG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Bob3Rvc3dpcGUvZGlzdC9kZWZhdWx0LXNraW4vZGVmYXVsdC1za2luLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2FwcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19waG90b3N3aXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2NvdW50cnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL19zaGVsZi1saWZlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9fd2luZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3dpbmUtZWRpdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3dpbmUtbGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX2xvZ2luLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBQUE7RUNGQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBS0Y7RUFDQTtDRG1CRDs7QUVsQkQ7OztFQUdFO0NGcUJEOztBRXBCQTtFQUdDO0VBQ0E7RUFDQTtFQUNBO0NGcUJEOztBRXBCQTs7Ozs7Ozs7OztFQU1DO0NGMkJEOztBRTFCQTtFQVVDO0VBQ0E7RUNnRkk7RUQ5RUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDRm9CRDs7QUVuQkE7RUFZQztDRldEOztBRUZEO0VBQ0U7RUFDQTtFQUNBO0NGS0Q7O0FFUUQ7Ozs7OztFQUNFO0VBQ0E7Q0ZBRDs7QUVPRDtFQUNFO0VBQ0E7Q0ZKRDs7QUVlRDs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NGWkQ7O0FFYUE7RUFHQztFQUNBO0VBQ0E7Q0ZaRDs7QUVhQTs7O0VBS0M7RUFDQTtDRlpEOztBRWFBOzs7O0VBTUM7Q0ZaRDs7QUVlRDtFQUNFO0NGWkQ7O0FFZUQ7RUFDRTtFQUNBO0NGWkQ7O0FFZUQ7RUFDRTtDRlpEOztBRWVEOztFQUVFO0NGWkQ7O0FFZUQ7RUN4Rkk7Q0g2RUg7O0FFb0JEOztFQUVFO0VDbkdFO0VEcUdGO0VBQ0E7Q0ZqQkQ7O0FFb0JEO0VBQU07Q0ZoQkw7O0FFaUJEO0VBQU07Q0ZiTDs7QUVhbUI7RUFRbEI7RUFDQTtFQUNBO0NGakJEOztBRWNEO0VBTUk7RUFDQTtDRmhCSDs7QUlwS3VCO0VGOEx0QjtFQUNBO0NGdEJEOztBRW9CRDtFQUtJO0VBQ0E7Q0ZyQkg7O0FFOEJEOzs7O0VBSUU7RUNwSkU7Q0gwSEg7O0FFNEJBO0VBSUM7RUFFQTtFQUVBO0VBR0E7Q0ZoQ0Q7O0FFaUNBO0VBU0M7Q0Z0Q0Q7O0FFdUNBO0VBUUM7RUFDQTtDRjNDRDs7QUU4Q0Q7RUFHRTtFQUNBO0NGN0NEOztBRXFERDtFQUNFO0NGbEREOztBRXFERDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0ZsREQ7O0FFeUREO0VBRUU7RUFDQTtDRnZERDs7QUUrREQ7RUFFRTtFQUNBO0NGN0REOztBRW1FRDtFQUVFO0NGakVEOztBRXlFRDtFQUNFO0NGdEVEOztBRXVFQTs7Ozs7RUFPQztFQUNBO0VDNVBFO0VEOFBGO0NGdEVEOztBRXlFRDs7RUFFRTtDRnRFRDs7QUV1RUE7O0VBSUM7Q0Z0RUQ7O0FFdUVBO0VBTUM7Q0Z6RUQ7O0FFMEVBO0VBTUM7Q0Y1RUQ7O0FFbUZEOzs7O0VBSUU7Q0ZoRkQ7O0FFeUZHOzs7O0VBQ0U7Q0ZuRkw7O0FFeUZEOzs7O0VBSUU7RUFDQTtDRnRGRDs7QUV5RkQ7O0VBRUU7RUFDQTtDRnRGRDs7QUUwRkQ7RUFDRTtFQUVBO0NGeEZEOztBRTJGRDtFQU1FO0VBRUE7RUFDQTtFQUNBO0NGOUZEOztBRW1HRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNuU0k7RURxU0o7RUFDQTtFQUNBO0NGaEdEOztBRW1HRDtFQUNFO0NGaEdEOztBRWlHQTs7RUFLQztDRmpHRDs7QUVrR0E7RUFPQztFQUNBO0NGckdEOztBRXNHQTtFQU9DO0NGekdEOztBRWlIRDtFQUNFO0VBQ0E7Q0Y5R0Q7O0FFK0dBO0VBT0M7Q0ZsSEQ7O0FFbUhBO0VBR0M7RUFDQTtDRmxIRDs7QUVtSEE7RUFHQztDRmxIRDs7QUVtSEE7RUFLQztDRnBIRDs7QUt4V0Q7Ozs7Ozs7Ozs7OztFQUVFO0VBRUE7RUFDQTtDTG9YRDs7QUtsWEE7O0VGa0hLO0NIcVFMOztBS3BYRDs7RUYrR007Q0gwUUw7O0FLeFhEOztFRjhHTTtDSCtRTDs7QUs1WEQ7O0VGNkdNO0NIb1JMOztBS2hZRDs7RUY0R007Q0h5Ukw7O0FLclk4Qzs7RUY0R3pDO0NIOFJMOztBS3ZZRDtFRnlHTTtFRXZHSjtDTDBZRDs7QUt0WUQ7RUZtR007RUVqR0o7RUFDQTtDTHlZRDs7QUt2WUQ7RUY4Rk07RUU1Rko7RUFDQTtDTDBZRDs7QUt4WUQ7RUZ5Rk07RUV2Rko7RUFDQTtDTDJZRDs7QUt6WUQ7RUZvRk07RUVsRko7RUFDQTtDTDRZRDs7QUszWUE7RUFRQztFQUNBO0VBQ0E7RUFDQTtDTHVZRDs7QUsvWEQ7O0VGTUk7RUVIRjtDTGtZRDs7QUtqWUE7O0VBSUM7RUFDQTtDTGtZRDs7QUsxWEQ7RUMvRUU7RUFDQTtDTjZjRDs7QUsxWEQ7RUNwRkU7RUFDQTtDTmtkRDs7QUs1WEQ7RUFDRTtDTCtYRDs7QUs3WEM7RUFDRTtDTGdZSDs7QUt0WEQ7RUZqQ0k7RUVtQ0Y7Q0x5WEQ7O0FLclhEO0VBQ0U7RUZlSTtDSDBXTDs7QUt2WEE7RUFHQztFRjdDRTtFRStDRjtDTHdYRDs7QUszWEQ7RUFNSTtDTHlYSDs7QUt4WEU7RUVoSEQ7RUFHQTtDUDBlRDs7QVEzZUQ7RUFDRTtFQUNBO0VBQ0E7RUNFRTtFRlBGO0VBR0E7Q1BtZkQ7O0FRcmVEO0VBRUU7Q1J1ZUQ7O0FRcGVEO0VBQ0U7RUFDQTtDUnVlRDs7QVFwZUQ7RUxrQ0k7RUtoQ0Y7Q1J1ZUQ7O0FRdGVBO0VMK0JHO0VPckVGO0VBQ0E7Q1ZpaEJEOztBVTNnQkE7RUFGRztDVmloQkg7O0FVNWdCRDtFQUNFO0VQMERFO0VPeERGO0VBQ0E7RURDRTtDVCtnQkg7O0FVdGdCQTtFQUxHO0VQa0RBO0VPaERBO0NWK2dCSDs7QVU3Z0JFO0VBS0Q7RVB5Q0U7RU92Q0Y7Q1Y0Z0JEOztBVS9nQkQ7RVAwQ0k7RU9sQ0E7RUFDQTtDVjRnQkg7O0FVdmdCRDtFQUNFO0VBQ0E7Q1YwZ0JEOztBV2xqQkM7Ozs7OztFQ0RBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1o0akJEOztBYXpnQkc7RUZ6Q0U7O0lBQ0U7R1h1akJMO0NBQ0Y7O0FhaGhCRztFRnpDRTs7O0lBQ0U7R1grakJMO0NBQ0Y7O0FheGhCRztFRmhDTTs7OztJQVJGO0dYd2tCTDtDQUNGOztBYWppQkc7RUZoQ007Ozs7O0lBUkY7R1hrbEJMO0NBQ0Y7O0FXdmpCQztFQ25DQTtFQUNBO0VBQ0E7RUFDQTtDWjhsQkQ7O0FXeGpCQztFQUNFO0VBQ0E7Q1gyakJIOztBV3BqQkU7O0VBSEc7RUFDQTtDWDRqQkw7O0FXM2pCSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFR3RERDtFQUNBO0VBQ0E7RUFDQTtDZDByQkg7O0FjenJCRTtFQXNCSztFQUNBO0VBQ0E7Q2R1cUJQOztBY3RxQk07RUY0Qkg7RUFDQTtDWjhvQkg7O0FZaHBCQztFQUNFO0VBQ0E7Q1ptcEJIOztBWXJwQkM7RUFDRTtFQUNBO0Nad3BCSDs7QVkxcEJDO0VBQ0U7RUFDQTtDWjZwQkg7O0FZL3BCQztFQUNFO0VBQ0E7Q1prcUJIOztBWXBxQkM7RUFDRTtFQUNBO0NadXFCSDs7QWMxckJLO0VGQ0o7RUFDQTtFQUNBO0NaNnJCRDs7QWM5ckJNO0VGVEw7RUFJQTtDWndzQkQ7O0FjL3JCUztFRmJSO0VBSUE7Q1o2c0JEOztBY3BzQlM7RUZiUjtFQUlBO0Naa3RCRDs7QWN6c0JTO0VGYlI7RUFJQTtDWnV0QkQ7O0FjOXNCUztFRmJSO0VBSUE7Q1o0dEJEOztBY250QlM7RUZiUjtFQUlBO0NaaXVCRDs7QWN4dEJTO0VGYlI7RUFJQTtDWnN1QkQ7O0FjN3RCUztFRmJSO0VBSUE7Q1oydUJEOztBY2x1QlM7RUZiUjtFQUlBO0NaZ3ZCRDs7QWN2dUJTO0VGYlI7RUFJQTtDWnF2QkQ7O0FjNXVCUztFRmJSO0VBSUE7Q1owdkJEOztBY2p2QlM7RUZiUjtFQUlBO0NaK3ZCRDs7QWNwdkJVO0VBSW1CO0Nkb3ZCN0I7O0FjcHZCMEM7RUFFZDtDZHN2QjVCOztBY252Qk87RUFBd0I7Q2R1dkIvQjs7QWN2dkJPO0VBQXdCO0NkMnZCL0I7O0FjM3ZCNEM7RUFBYjtDZCt2Qi9COztBYy92QjRDO0VBQWI7Q2Rtd0IvQjs7QWNud0JPO0VBQXdCO0NkdXdCL0I7O0FjdndCTztFQUF3QjtDZDJ3Qi9COztBYzN3Qk87RUFBd0I7Q2Qrd0IvQjs7QWMvd0JPO0VBQXdCO0NkbXhCL0I7O0FjbnhCTztFQUF3QjtDZHV4Qi9COztBY3Z4Qk87RUFBd0I7Q2QyeEIvQjs7QWMzeEJPO0VBQXdCO0NkK3hCL0I7O0FjL3hCNEM7RUFBYjtDZG15Qi9COztBY255QjRDO0VBQWI7Q2R1eUIvQjs7QWNoeUJXO0VGaEJWO0Nab3pCRDs7QWNweUJXO0VGaEJWO0Nad3pCRDs7QWN4eUJXO0VGaEJWO0NaNHpCRDs7QWM1eUJXO0VGaEJWO0NaZzBCRDs7QWNoekJXO0VGaEJWO0NabzBCRDs7QWNwekJXO0VGaEJWO0NadzBCRDs7QWN0ekJZO0VGbEJYO0NaNDBCRDs7QWMxekJZO0VGbEJYO0NaZzFCRDs7QWNoMEJXO0VGaEJWO0NabzFCRDs7QWNwMEJXO0VGaEJWO0NadzFCRDs7QWN4MEJXO0VGaEJWO0NaNDFCRDs7QWF2MUJHO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0dkczNCTDs7RVkxMUJEO0lBQ0U7SUFDQTtHWjYxQkQ7O0VjdDNCTztJRndCTjtJQUNBO0daazJCRDs7RWMzM0JPO0lGd0JOO0lBQ0E7R1p1MkJEOztFWXoyQkQ7SUFDRTtJQUNBO0daNDJCRDs7RVk5MkJEO0lBQ0U7SUFDQTtHWmkzQkQ7O0VZbjNCRDtJQUNFO0lBQ0E7R1pzM0JEOztFY3o0Qkc7SUZDSjtJQUNBO0lBQ0E7R1o0NEJDOztFY3o0Qk87SUZiUjtJQUlBO0dadTVCQzs7RWM5NEJPO0lGYlI7SUFJQTtHWjQ1QkM7O0VjbjVCTztJRmJSO0lBSUE7R1ppNkJDOztFY3g1Qk87SUZiUjtJQUlBO0daczZCQzs7RWM3NUJPO0lGYlI7SUFJQTtHWjI2QkM7O0VjbDZCTztJRmJSO0lBSUE7R1pnN0JDOztFY3Y2Qk87SUZiUjtJQUlBO0dacTdCQzs7RWM1NkJPO0lGYlI7SUFJQTtHWjA3QkM7O0VjajdCTztJRmJSO0lBSUE7R1orN0JDOztFY3Q3Qk87SUZiUjtJQUlBO0dabzhCQzs7RWMzN0JPO0lGYlI7SUFJQTtHWnk4QkM7O0VjaDhCTztJRmJSO0lBSUE7R1o4OEJDOztFYy83Qkc7SUFBd0I7R2RtOEIzQjs7RWNuOEJ3QztJQUVkO0dkcThCMUI7O0VjbDhCSztJQUF3QjtHZHM4QjdCOztFY3Q4QjBDO0lBQWI7R2QwOEI3Qjs7RWMxOEJLO0lBQXdCO0dkODhCN0I7O0VjOThCSztJQUF3QjtHZGs5QjdCOztFY2w5Qks7SUFBd0I7R2RzOUI3Qjs7RWN0OUJLO0lBQXdCO0dkMDlCN0I7O0VjMTlCSztJQUF3QjtHZDg5QjdCOztFYzk5Qks7SUFBd0I7R2RrK0I3Qjs7RWNsK0IwQztJQUFiO0dkcytCN0I7O0VjdCtCMEM7SUFBYjtHZDArQjdCOztFYzErQks7SUFBd0I7R2Q4K0I3Qjs7RWM5K0JLO0lBQXdCO0dkay9CN0I7O0VjbC9CSztJQUF3QjtHZHMvQjdCOztFY3QvQjBDO0lGVDNDO0dabWdDQzs7RWNuL0JTO0lGaEJWO0dadWdDQzs7RWN2L0JTO0lGaEJWO0daMmdDQzs7RWMzL0JTO0lGaEJWO0daK2dDQzs7RWM3L0JVO0lGbEJYO0dabWhDQzs7RWNqZ0NVO0lGbEJYO0dadWhDQzs7RWN2Z0NTO0lGaEJWO0daMmhDQzs7RWMzZ0NTO0lGaEJWO0daK2hDQzs7RWMvZ0NTO0lGaEJWO0dabWlDQzs7RWNuaENTO0lGaEJWO0dadWlDQzs7RWN2aENTO0lGaEJWO0daMmlDQzs7RWMzaENTO0lGaEJWO0daK2lDQztDQUNGOztBYTNpQ0c7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7R2Qwa0NMOztFY3JrQ087SUZ3Qk47SUFDQTtHWmlqQ0Q7O0VZbmpDRDtJQUNFO0lBQ0E7R1pzakNEOztFWXhqQ0Q7SUFDRTtJQUNBO0daMmpDRDs7RVk3akNEO0lBQ0U7SUFDQTtHWmdrQ0Q7O0VZbGtDRDtJQUNFO0lBQ0E7R1pxa0NEOztFWXZrQ0Q7SUFDRTtJQUNBO0daMGtDRDs7RWM3bENHO0lGQ0o7SUFDQTtJQUNBO0daZ21DQzs7RWM3bENPO0lGYlI7SUFJQTtHWjJtQ0M7O0VjbG1DTztJRmJSO0lBSUE7R1pnbkNDOztFY3ZtQ087SUZiUjtJQUlBO0dacW5DQzs7RWM1bUNPO0lGYlI7SUFJQTtHWjBuQ0M7O0Vjam5DTztJRmJSO0lBSUE7R1orbkNDOztFY3RuQ087SUZiUjtJQUlBO0dab29DQzs7RWMzbkNPO0lGYlI7SUFJQTtHWnlvQ0M7O0VjaG9DTztJRmJSO0lBSUE7R1o4b0NDOztFY3JvQ087SUZiUjtJQUlBO0dabXBDQzs7RWMxb0NPO0lGYlI7SUFJQTtHWndwQ0M7O0VjL29DTztJRmJSO0lBSUE7R1o2cENDOztFY3BwQ087SUZiUjtJQUlBO0daa3FDQzs7RWNucENHO0lBQXdCO0dkdXBDM0I7O0VjcnBDRztJQUF1QjtHZHlwQzFCOztFY3pwQ2lEO0lBR3BCO0dkMHBDN0I7O0VjMXBDSztJQUF3QjtHZDhwQzdCOztFYzlwQ0s7SUFBd0I7R2RrcUM3Qjs7RWNscUNLO0lBQXdCO0dkc3FDN0I7O0VjdHFDSztJQUF3QjtHZDBxQzdCOztFYzFxQzBDO0lBQWI7R2Q4cUM3Qjs7RWM5cUMwQztJQUFiO0dka3JDN0I7O0VjbHJDSztJQUF3QjtHZHNyQzdCOztFY3RyQ0s7SUFBd0I7R2QwckM3Qjs7RWMxckNLO0lBQXdCO0dkOHJDN0I7O0VjOXJDSztJQUF3QjtHZGtzQzdCOztFY2xzQ0s7SUFBd0I7R2Rzc0M3Qjs7RWN0c0NLO0lBQXdCO0dkMHNDN0I7O0VjbnNDUztJRmhCVjtHWnV0Q0M7O0VjcnNDVTtJRmxCWDtHWjJ0Q0M7O0VjM3NDUztJRmhCVjtHWit0Q0M7O0VjL3NDUztJRmhCVjtHWm11Q0M7O0VjbnRDUztJRmhCVjtHWnV1Q0M7O0VjdnRDUztJRmhCVjtHWjJ1Q0M7O0VjM3RDUztJRmhCVjtHWit1Q0M7O0VjL3RDUztJRmhCVjtHWm12Q0M7O0VjbnVDUztJRmhCVjtHWnV2Q0M7O0VjcnVDVTtJRmxCWDtHWjJ2Q0M7O0VjenVDVTtJRmxCWDtHWit2Q0M7O0VjL3VDUztJRmhCVjtHWm13Q0M7Q0FDRjs7QWEvdkNHO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0dkOHhDTDs7RWN6eENPO0lGd0JOO0lBQ0E7R1pxd0NEOztFWXZ3Q0Q7SUFDRTtJQUNBO0daMHdDRDs7RVk1d0NEO0lBQ0U7SUFDQTtHWit3Q0Q7O0VZanhDRDtJQUNFO0lBQ0E7R1pveENEOztFWXR4Q0Q7SUFDRTtJQUNBO0daeXhDRDs7RVl4eENBO0lBRkM7SUFDQTtHWjh4Q0Q7O0VjanpDRztJRkNKO0lBQ0E7SUFDQTtHWm96Q0M7O0VjcnpDSTtJRlRMO0lBSUE7R1orekNDOztFY3R6Q087SUZiUjtJQUlBO0dabzBDQzs7RWMzekNPO0lGYlI7SUFJQTtHWnkwQ0M7O0VjaDBDTztJRmJSO0lBSUE7R1o4MENDOztFY3IwQ087SUZiUjtJQUlBO0dabTFDQzs7RWMxMENPO0lGYlI7SUFJQTtHWncxQ0M7O0VjLzBDTztJRmJSO0lBSUE7R1o2MUNDOztFY3AxQ087SUZiUjtJQUlBO0daazJDQzs7RWN6MUNPO0lGYlI7SUFJQTtHWnUyQ0M7O0VjOTFDTztJRmJSO0lBSUE7R1o0MkNDOztFY24yQ087SUZiUjtJQUlBO0daaTNDQzs7RWN4MkNPO0lGYlI7SUFJQTtHWnMzQ0M7O0VjMzJDUTtJQUltQjtHZDIyQzNCOztFY3oyQ0c7SUFBdUI7R2Q2MkMxQjs7RWMxMkNLO0lBQXdCO0dkODJDN0I7O0VjOTJDMEM7SUFBYjtHZGszQzdCOztFY2wzQzBDO0lBQWI7R2RzM0M3Qjs7RWN0M0NLO0lBQXdCO0dkMDNDN0I7O0VjMTNDSztJQUF3QjtHZDgzQzdCOztFYzkzQ0s7SUFBd0I7R2RrNEM3Qjs7RWNsNENLO0lBQXdCO0dkczRDN0I7O0VjdDRDSztJQUF3QjtHZDA0QzdCOztFYzE0Q0s7SUFBd0I7R2Q4NEM3Qjs7RWM5NENLO0lBQXdCO0dkazVDN0I7O0VjbDVDMEM7SUFBYjtHZHM1QzdCOztFY3Q1QzBDO0lBQWI7R2QwNUM3Qjs7RWMxNUNLO0lBQXdCO0dkODVDN0I7O0VjdjVDUztJRmhCVjtHWjI2Q0M7O0VjMzVDUztJRmhCVjtHWis2Q0M7O0VjLzVDUztJRmhCVjtHWm03Q0M7O0VjbjZDUztJRmhCVjtHWnU3Q0M7O0VjdjZDUztJRmhCVjtHWjI3Q0M7O0VjMzZDUztJRmhCVjtHWis3Q0M7O0VjLzZDUztJRmhCVjtHWm04Q0M7O0VjajdDVTtJRmxCWDtHWnU4Q0M7O0VjcjdDVTtJRmxCWDtHWjI4Q0M7O0VjMzdDUztJRmhCVjtHWis4Q0M7O0VjLzdDUztJRmhCVjtHWm05Q0M7O0VjbjhDUztJRmhCVjtHWnU5Q0M7Q0FDRjs7QWFuOUNHO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0dkay9DTDs7RVl0OUNEO0lBQ0U7SUFDQTtHWnk5Q0Q7O0VjbC9DTztJRndCTjtJQUNBO0daODlDRDs7RWN2L0NPO0lGd0JOO0lBQ0E7R1ptK0NEOztFWXIrQ0Q7SUFDRTtJQUNBO0dadytDRDs7RVkxK0NEO0lBQ0U7SUFDQTtHWjYrQ0Q7O0VZLytDRDtJQUNFO0lBQ0E7R1prL0NEOztFY3JnREc7SUZDSjtJQUNBO0lBQ0E7R1p3Z0RDOztFY3JnRE87SUZiUjtJQUlBO0dabWhEQzs7RWMxZ0RPO0lGYlI7SUFJQTtHWndoREM7O0VjL2dETztJRmJSO0lBSUE7R1o2aERDOztFY3BoRE87SUZiUjtJQUlBO0daa2lEQzs7RWN6aERPO0lGYlI7SUFJQTtHWnVpREM7O0VjOWhETztJRmJSO0lBSUE7R1o0aURDOztFY25pRE87SUZiUjtJQUlBO0daaWpEQzs7RWN4aURPO0lGYlI7SUFJQTtHWnNqREM7O0VjN2lETztJRmJSO0lBSUE7R1oyakRDOztFY2xqRE87SUZiUjtJQUlBO0daZ2tEQzs7RWN2akRPO0lGYlI7SUFJQTtHWnFrREM7O0VjNWpETztJRmJSO0lBSUE7R1owa0RDOztFYzNqREc7SUFBd0I7R2QrakQzQjs7RWMvakR3QztJQUVkO0dkaWtEMUI7O0VjOWpESztJQUF3QjtHZGtrRDdCOztFY2xrRDBDO0lBQWI7R2Rza0Q3Qjs7RWN0a0RLO0lBQXdCO0dkMGtEN0I7O0VjMWtESztJQUF3QjtHZDhrRDdCOztFYzlrREs7SUFBd0I7R2RrbEQ3Qjs7RWNsbERLO0lBQXdCO0dkc2xEN0I7O0VjdGxESztJQUF3QjtHZDBsRDdCOztFYzFsREs7SUFBd0I7R2Q4bEQ3Qjs7RWM5bEQwQztJQUFiO0dka21EN0I7O0VjbG1EMEM7SUFBYjtHZHNtRDdCOztFY3RtREs7SUFBd0I7R2QwbUQ3Qjs7RWMxbURLO0lBQXdCO0dkOG1EN0I7O0VjOW1ESztJQUF3QjtHZGtuRDdCOztFY2xuRDBDO0lGVDNDO0daK25EQzs7RWMvbURTO0lGaEJWO0dabW9EQzs7RWNubkRTO0lGaEJWO0dadW9EQzs7RWN2bkRTO0lGaEJWO0daMm9EQzs7RWN6bkRVO0lGbEJYO0daK29EQzs7RWM3bkRVO0lGbEJYO0dabXBEQzs7RWNub0RTO0lGaEJWO0dadXBEQzs7RWN2b0RTO0lGaEJWO0daMnBEQzs7RWMzb0RTO0lGaEJWO0daK3BEQzs7RWMvb0RTO0lGaEJWO0dabXFEQzs7RWNucERTO0lGaEJWO0dadXFEQzs7RWN2cERTO0lGaEJWO0daMnFEQztDQUNGOztBZS90REQ7RUFDRTtFQUNBO0VBQ0E7Q2ZrdUREOztBZWh0REE7O0VBYkc7RUFDQTtFQUNBO0Nma3VESDs7QWVqdURFO0VBR0M7RUFDQTtDZmt1REg7O0FlanVERTtFQUdDO0Nma3VESDs7QWV6dEREOztFQUdJO0NmMnRESDs7QWVsdEREO0VBQ0U7Q2ZxdEREOztBZW50REM7O0VBRUU7Q2ZzdERIOztBZXJ0REU7O0VBS0c7Q2ZxdERMOztBZWh0REQ7Ozs7RUFLSTtDZmt0REg7O0FlenNEQztFQUNFO0NmNHNESDs7QUkzd0RDO0VXMkVJO0VBQ0E7Q2Zvc0RMOztBSWh4RHVCOzs7RVlIbEI7Q2hCeXhETDs7QWdCN3hEQzs7OztFQVlNO0NoQnd4RFA7O0FnQmp4REM7RUFLTTtDaEJneERQOztBZ0I5d0RPOztFQUVFO0NoQml4RFQ7O0FnQjd5REM7OztFQUlJO0NoQit5REw7O0FnQm56REM7Ozs7RUFZTTtDaEI4eURQOztBZ0I3eURNO0VBV0M7Q2hCc3lEUDs7QWdCM3lEQzs7RUFTUTtDaEJ1eURUOztBZ0JsMERHOzs7RUFHRTtDaEJxMERMOztBZ0JwMERJOzs7O0VBT0c7Q2hCbzBEUDs7QUl6MERDO0VZaUJNO0NoQjR6RFA7O0FnQmowREM7O0VBU1E7Q2hCNnpEVDs7QWdCNXpEUTs7O0VBekJIO0NoQjIxREw7O0FnQnYxREs7Ozs7RUFJRTtDaEIwMURQOztBSS8xREM7RVlpQk07Q2hCazFEUDs7QUluMkR1Qjs7RVlxQmQ7Q2hCbTFEVDs7QWdCLzJEQzs7O0VBSUk7Q2hCaTNETDs7QWdCcjNEQzs7OztFQVlNO0NoQmczRFA7O0FnQi8yRE07RUFXQztDaEJ3MkRQOztBZ0I3MkRDOztFQVNRO0NoQnkyRFQ7O0FnQnA0REc7OztFQUdFO0NoQnU0REw7O0FnQnQ0REk7Ozs7RUFPRztDaEJzNERQOztBZ0IvM0RDO0VBS007Q2hCODNEUDs7QWdCNTNETzs7RUFFRTtDaEIrM0RUOztBZ0IzNURDOzs7RUFJSTtDaEI2NURMOztBZ0JqNkRDOzs7O0VBWU07Q2hCNDVEUDs7QUlqNkRDO0VZaUJNO0NoQm81RFA7O0FnQmw1RE87O0VBRUU7Q2hCcTVEVDs7QWdCaDdERzs7O0VBR0U7Q2hCbTdETDs7QWdCbDdESTs7OztFQU9HO0NoQms3RFA7O0FnQmo3RE07RUFXQztDaEIwNkRQOztBZ0IvNkRDOztFQVNRO0NoQjI2RFQ7O0FnQnQ4REc7OztFQUdFO0NoQnk4REw7O0FnQng4REk7RUFtQkc7Q2hCeTdEUDs7QWdCOTdEQzs7RUFTUTtDaEIwN0RUOztBZTEyREc7RUFDRTtFQUNBO0VBQ0E7Q2Y2MkRMOztBZWwzREQ7RUFXTTtFQUNBO0VBQ0E7Q2YyMkRMOztBZTEyREk7RUFLSDtFQUNBO0NmeTJERDs7QWUzMkREOzs7RUFPSTtDZjAyREg7O0FlajNERDtFQVdJO0NmMDJESDs7QWV0MkRHO0VBQ0U7Q2Z5MkRMOztBZXozREQ7RUF1QlE7RUFDQTtDZnMyRFA7O0FhdDdERztFRWlHQztJQUVHO0lBQ0E7SUFDQTtJQUNBO0dmdzFETDs7RWU3MURFO0lBU0s7R2Z3MURQO0NBQ0Y7O0FhbjhERztFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0dmcTJETDs7RWVsMkRLO0lBQ0U7R2ZxMkRQO0NBQ0Y7O0FhaDlERztFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0dmazNETDs7RWUvMkRLO0lBQ0U7R2ZrM0RQO0NBQ0Y7O0FhNzlERztFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0dmKzNETDs7RWU1M0RLO0lBQ0U7R2YrM0RQO0NBQ0Y7O0FlOTRERDtFQU9RO0VBQ0E7RUFDQTtFQUNBO0NmMjREUDs7QWV4NERPO0VBQ0U7Q2YyNERUOztBaUJ4akVEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWRxSEk7RWNsSEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VSQUU7RVNGRTtDbEI4akVMOztBaUJuaEVBO0VBckREO0lDZVE7R2xCOGpFTDtDQUNGOztBaUJ6akVDO0VBQ0U7RUFDQTtDakI0akVIOztBaUJ4akVDO0VBQ0U7RUFDQTtDakIyakVIOztBbUJqbEVDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFLRTtDbkJnbEVMOztBaUI1akVDO0VBQ0U7RUFFQTtDakI4akVIOztBaUI3akVFOztFQVNDO0VBRUE7Q2pCd2pFSDs7QWlCcGpFRDs7OztFQUtJO0NqQnNqRUg7O0FpQmxqRUQ7RUFPSTtFQUNBO0NqQitpRUg7O0FpQjFpRUQ7O0VBRUU7RUFDQTtDakI2aUVEOztBaUJuaUVEO0VBQ0U7RUFDQTtFQUNBO0VkM0JFO0VjNkJGO0NqQnNpRUQ7O0FpQnJpRUE7RUFHQztFQUNBO0VkcUJJO0VjbkJKO0NqQnNpRUQ7O0FpQm5pRUQ7RUFDRTtFQUNBO0VkY0k7RWNaSjtDakJzaUVEOztBaUI3aEVEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWRESTtFY0dKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pCZ2lFRDs7QWlCOWhFQzs7RUFFRTtFQUNBO0NqQmlpRUg7O0FpQnJoRUQ7RUFDRTtFQUNBO0VkMUJJO0VjNEJKO0VSeklFO0NUa3FFSDs7QWlCcmhFRDtFQUNFO0VBQ0E7RWRsQ0k7RWNvQ0o7RVJqSkU7Q1QwcUVIOztBaUJuaEVDOztFQUVFO0NqQnNoRUg7O0FpQnJoRUU7RUFJRDtDakJxaEVEOztBaUI3Z0VEO0VBQ0U7Q2pCZ2hFRDs7QWlCN2dFRDtFQUNFO0VBQ0E7Q2pCZ2hFRDs7QWlCeGdFRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NqQjJnRUQ7O0FpQnBnRUE7O0VBSEc7RUFDQTtDakI0Z0VIOztBaUIzZ0VFO0VBU0Q7RUFDQTtFQUNBO0NqQnNnRUQ7O0FpQnJnRUE7RUFHQztFQUNBO0VBQ0E7Q2pCc2dFRDs7QWlCemdFRDs7RUFRSTtDakJzZ0VIOztBaUJyZ0VFO0VBSUQ7Q2pCcWdFRDs7QWlCcGdFQTtFQUdDO0VBQ0E7RUFDQTtFQUNBO0NqQnFnRUQ7O0FpQnpnRUQ7RUFRSTtFQUNBO0VBQ0E7RUFDQTtDakJxZ0VIOztBbUJsdEVDO0VBQ0U7RUFDQTtFQUNBO0VoQnlCQTtFZ0J2QkE7Q25CcXRFSDs7QW1CbHRFQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCbUVFO0VnQmpFRjtFQUNBO0VBQ0E7RVY5Q0E7Q1Rvd0VIOztBbUJqdEVHOztFQUVFO0NuQm90RUw7O0FtQi9zRUc7Ozs7RUFFRTtDbkJvdEVMOztBbUJsd0VHOztFQW9ERTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CaXRFUDs7QW1CNXdFRzs7RUErREk7RUFDQTtDbkJrdEVQOztBbUJseEVHOztFQXlFSTtFQUNBO0NuQjhzRVA7O0FtQnh4RUc7O0VBaUZFO0VBR0U7RUFDQTtDbkIwc0VQOztBbUI1eEVJOztFQXNGRztFQUNBO0NuQjJzRVA7O0FtQnBzRUs7O0VBQ0U7Q25Cd3NFUDs7QW1CcnNFSzs7OztFQUVFO0NuQjBzRVA7O0FtQnpzRU07O0VBT0M7Q25CdXNFUDs7QW1CcnNFTzs7RUFDRTtDbkJ5c0VUOztBbUJwc0VPOztFQUNFO0VDbEpOO0NwQjIxRUg7O0FtQnZzRVE7O0VBS0M7Q25CdXNFVDs7QW1CdDBFRzs7RUFtSU07Q25Cd3NFVDs7QW1CdnNFUTs7RUFTRDtDbkJtc0VQOztBbUJsc0VNOztFQUlHO0VBQ0E7Q25CbXNFVDs7QW1CMTBFQztFQUNFO0VBQ0E7RUFDQTtFaEJ5QkE7RWdCdkJBO0NuQjYwRUg7O0FtQjEwRUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQm1FRTtFZ0JqRUY7RUFDQTtFQUNBO0VWOUNBO0NUNDNFSDs7QW1CejBFRzs7RUFFRTtDbkI0MEVMOztBbUJ2MEVHOzs7O0VBRUU7Q25CNDBFTDs7QW1CMTNFRzs7RUFvREU7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQnkwRVA7O0FtQnA0RUc7O0VBK0RJO0VBQ0E7Q25CMDBFUDs7QW1CMTRFRzs7RUF5RUk7RUFDQTtDbkJzMEVQOztBbUJoNUVHOztFQWlGRTtFQUdFO0VBQ0E7Q25CazBFUDs7QW1CcDVFSTs7RUFzRkc7RUFDQTtDbkJtMEVQOztBbUI1ekVLOztFQUNFO0NuQmcwRVA7O0FtQjd6RUs7Ozs7RUFFRTtDbkJrMEVQOztBbUJqMEVNOztFQU9DO0NuQit6RVA7O0FtQjF6RU07O0VBRkc7Q25CaTBFVDs7QW1CNXpFTzs7RUFDRTtFQ2xKTjtDcEJtOUVIOztBbUIvekVROztFQUtDO0NuQit6RVQ7O0FtQjk3RUc7O0VBbUlNO0NuQmcwRVQ7O0FtQi96RVE7O0VBU0Q7Q25CMnpFUDs7QW1CdnpFTzs7RUFDRTtFQUNBO0NuQjJ6RVQ7O0FpQjV0RUQ7RUFDRTtFQUNBO0VBQ0E7Q2pCK3RFRDs7QWlCMXRFQztFQUNFO0NqQjZ0RUg7O0FpQjV0RUU7RUFWSDtJQWVNO0lBQ0E7SUFDQTtJQUNBO0dqQjR0RUg7O0VpQjN0RUU7SUFJQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0dqQjJ0RUg7O0VpQnR2RUg7SUFnQ007SUFDQTtJQUNBO0dqQjB0RUg7O0VpQnR0RUM7SUFDRTtHakJ5dEVIOztFaUJ4dEVFOztJQUlDO0dqQnl0RUg7O0VpQjd2RUQ7SUEwQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHakJ1dEVIOztFaUI3d0VIO0lBeURNO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R2pCd3RFSDs7RWlCcnhFSDtJQWlFTTtJQUNBO0dqQnd0RUg7O0VpQjF4RUg7SUFxRU07R2pCeXRFSDtDQUNGOztBcUIzaUZEO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQ3VGQTtFbkJ1Qkk7RW1CckJKO0VieEZFO0VTRkU7Q2xCaWpGTDs7QXFCOWdGQTtFQTdDRDtJSGVRO0dsQmlqRkw7Q0FDRjs7QUkzakZDO0VpQlVFO0VBQ0E7Q3JCcWpGSDs7QUloa0Z1Qjs7RWlCZ0JwQjtFQUNBO0NyQnFqRkg7O0FxQjVrRkQ7O0VBNkJJO0NyQm9qRkg7O0FxQmhqRkM7RUFDRTtDckJtakZIOztBcUJyaUZEOztFQUVFO0NyQndpRkQ7O0FxQnZpRkE7RUNuREM7RUZBRTtFRUVGO0N0QjhsRkQ7O0FxQnJpRkM7RUNyREU7RUZOQTtFRVFBO0N0QjhsRkg7O0FzQjNsRkM7O0VBRUU7RUZiQTtFRWVBO0VBS0U7Q3RCMGxGTDs7QXFCbmpGQzs7RUNoQ0U7RUFDQTtFQUNBO0N0QndsRkg7O0FzQmpsRkM7OztFQUdFO0VBQ0E7RUFJQTtDdEJpbEZIOztBcUJsa0ZDOzs7RUNSTTtDdEJnbEZQOztBcUJ4a0ZDO0VDM0RBO0VGQUU7RUVFRjtDdEJ1b0ZEOztBcUI5a0ZDO0VDckRFO0VGTkE7RUVRQTtDdEJ1b0ZIOztBc0Jwb0ZDOztFQUVFO0VGYkE7RUVlQTtFQUtFO0N0Qm1vRkw7O0FzQjluRkM7O0VBRUU7RUFDQTtFQUNBO0N0QmlvRkg7O0FxQm5tRkM7OztFQ3BCRTtFQUNBO0VBSUE7Q3RCMG5GSDs7QXNCaG5GRTs7O0VBSEs7Q3RCeW5GUDs7QXNCdm5GSTtFQXJESDtFRkFFO0VFRUY7Q3RCZ3JGRDs7QUk1cUZDO0VrQkFFO0VGTkE7RUVRQTtDdEJnckZIOztBcUI3bkZDOztFQzlDRTtFRmJBO0VFZUE7RUFLRTtDdEI0cUZMOztBc0IxcUZFOztFQUtDO0VBQ0E7RUFDQTtDdEIwcUZIOztBc0JycUZFOzs7RUFLQztFQUNBO0VBSUE7Q3RCbXFGSDs7QXNCanFGRzs7O0VBS0k7Q3RCa3FGUDs7QXFCMXBGQztFQzNEQTtFRkFFO0VFRUY7Q3RCeXRGRDs7QXFCOXBGRTtFQ3ZEQztFRk5BO0VFUUE7Q3RCeXRGSDs7QXNCdHRGQzs7RUFFRTtFRmJBO0VFZUE7RUFLRTtDdEJxdEZMOztBcUI5cUZDOztFQ2hDRTtFQUNBO0VBQ0E7Q3RCbXRGSDs7QXFCcnJGQzs7O0VDcEJFO0VBQ0E7RUFJQTtDdEI0c0ZIOztBcUI3ckZDOzs7RUNSTTtDdEIyc0ZQOztBcUJuc0ZDO0VDM0RBO0VGQUU7RUVFRjtDdEJrd0ZEOztBcUJ6c0ZDO0VDckRFO0VGTkE7RUVRQTtDdEJrd0ZIOztBSXB3RnVCOztFa0JPcEI7RUZiQTtFRWVBO0VBS0U7Q3RCOHZGTDs7QXNCNXZGRTs7RUFLQztFQUNBO0VBQ0E7Q3RCNHZGSDs7QXFCOXRGQzs7O0VDcEJFO0VBQ0E7RUFJQTtDdEJxdkZIOztBc0JudkZHOzs7RUFLSTtDdEJvdkZQOztBcUI1dUZDO0VDM0RBO0VGQUU7RUVFRjtDdEIyeUZEOztBcUJodkZFO0VDdkRDO0VGTkE7RUVRQTtDdEIyeUZIOztBc0J4eUZDOztFQUVFO0VGYkE7RUVlQTtFQUtFO0N0QnV5Rkw7O0FxQmh3RkM7O0VDaENFO0VBQ0E7RUFDQTtDdEJxeUZIOztBc0JoeUZFOzs7RUFLQztFQUNBO0VBSUE7Q3RCOHhGSDs7QXFCL3dGQzs7O0VDUk07Q3RCNnhGUDs7QXFCcnhGQztFQzNEQTtFRkFFO0VFRUY7Q3RCbzFGRDs7QXFCM3hGQztFQ3JERTtFRk5BO0VFUUE7Q3RCbzFGSDs7QXNCajFGQzs7RUFFRTtFRmJBO0VFZUE7RUFLRTtDdEJnMUZMOztBcUJ6eUZDOztFQ2hDRTtFQUNBO0VBQ0E7Q3RCODBGSDs7QXNCdjBGQzs7O0VBR0U7RUFDQTtFQUlBO0N0QnUwRkg7O0FxQnh6RkM7OztFQ1JNO0N0QnMwRlA7O0FxQjl6RkM7RUMzREE7RUZBRTtFRUVGO0N0QjYzRkQ7O0FxQnAwRkM7RUNyREU7RUZOQTtFRVFBO0N0QjYzRkg7O0FJLzNGdUI7O0VrQk9wQjtFRmJBO0VFZUE7RUFLRTtDdEJ5M0ZMOztBc0J2M0ZFOztFQUtDO0VBQ0E7RUFDQTtDdEJ1M0ZIOztBc0JsM0ZFOzs7RUFLQztFQUNBO0VBSUE7Q3RCZzNGSDs7QXNCOTJGRzs7O0VBS0k7Q3RCKzJGUDs7QXFCajJGQztFQ1BBO0VBQ0E7Q3RCNDJGRDs7QXFCcDJGRTtFQ0xDO0VBQ0E7RUFDQTtDdEI2MkZIOztBc0IxMkZDOztFQUVFO0N0QjYyRkg7O0FzQjUyRkU7O0VBSUM7RUFDQTtDdEI2MkZIOztBc0I1MkZFOzs7RUFLQztFQUNBO0VBQ0E7Q3RCNjJGSDs7QXNCMzJGRzs7O0VBS0k7Q3RCNDJGUDs7QXFCcjRGQztFQ1BBO0VBQ0E7Q3RCZzVGRDs7QXFCeDRGRTtFQ0xDO0VBQ0E7RUFDQTtDdEJpNUZIOztBc0I5NEZDOztFQUVFO0N0Qmk1Rkg7O0FzQmg1RkU7O0VBSUM7RUFDQTtDdEJpNUZIOztBc0JoNUZFOzs7RUFLQztFQUNBO0VBQ0E7Q3RCaTVGSDs7QXNCLzRGRzs7O0VBS0k7Q3RCZzVGUDs7QXFCejZGQztFQ1BBO0VBQ0E7Q3RCbzdGRDs7QXFCNTZGRTtFQ0xDO0VBQ0E7RUFDQTtDdEJxN0ZIOztBc0JsN0ZDOztFQUVFO0N0QnE3Rkg7O0FzQnA3RkU7O0VBSUM7RUFDQTtDdEJxN0ZIOztBc0JwN0ZFOzs7RUFLQztFQUNBO0VBQ0E7Q3RCcTdGSDs7QXNCbjdGRzs7O0VBS0k7Q3RCbzdGUDs7QXFCNzhGQztFQ1BBO0VBQ0E7Q3RCdzlGRDs7QXFCaDlGRTtFQ0xDO0VBQ0E7RUFDQTtDdEJ5OUZIOztBc0J0OUZDOztFQUVFO0N0Qnk5Rkg7O0FzQng5RkU7O0VBSUM7RUFDQTtDdEJ5OUZIOztBc0J4OUZFOzs7RUFLQztFQUNBO0VBQ0E7Q3RCeTlGSDs7QXNCdjlGRzs7O0VBS0k7Q3RCdzlGUDs7QXFCai9GQztFQ1BBO0VBQ0E7Q3RCNC9GRDs7QXFCcC9GRTtFQ0xDO0VBQ0E7RUFDQTtDdEI2L0ZIOztBc0IxL0ZDOztFQUVFO0N0QjYvRkg7O0FzQjUvRkU7O0VBSUM7RUFDQTtDdEI2L0ZIOztBc0I1L0ZFOzs7RUFLQztFQUNBO0VBQ0E7Q3RCNi9GSDs7QXNCMy9GRzs7O0VBS0k7Q3RCNC9GUDs7QXFCcmhHQztFQ1BBO0VBQ0E7Q3RCZ2lHRDs7QXFCeGhHRTtFQ0xDO0VBQ0E7RUFDQTtDdEJpaUdIOztBcUJoaUdDOztFQ0lFO0N0QmlpR0g7O0FzQjloR0M7O0VBRUU7RUFDQTtDdEJpaUdIOztBcUIzaUdDOzs7RUNnQkU7RUFDQTtFQUNBO0N0QmlpR0g7O0FzQnZoR0U7OztFQUhLO0N0QmdpR1A7O0FzQjloR0k7RUFsQ0g7RUFDQTtDdEJva0dEOztBSXpuR0M7RWtCd0RFO0VBQ0E7RUFDQTtDdEJxa0dIOztBcUJwa0dDOztFQ0lFO0N0QnFrR0g7O0FzQmxrR0M7O0VBRUU7RUFDQTtDdEJxa0dIOztBcUIva0dDOzs7RUNnQkU7RUFDQTtFQUNBO0N0QnFrR0g7O0FzQjNqR0U7OztFQUhLO0N0Qm9rR1A7O0FzQmxrR0k7RUFsQ0g7RUFDQTtDdEJ3bUdEOztBSTdwR0M7RWtCd0RFO0VBQ0E7RUFDQTtDdEJ5bUdIOztBcUJ4bUdDOztFQ0lFO0N0QnltR0g7O0FzQnRtR0M7O0VBRUU7RUFDQTtDdEJ5bUdIOztBcUJubkdDOzs7RUNnQkU7RUFDQTtFQUNBO0N0QnltR0g7O0FzQi9sR0U7OztFQUhLO0N0QndtR1A7O0FzQnRtR0k7RURmSDtFQUNBO0VBQ0E7Q3JCeW5HRDs7QUlsc0dDO0VpQjRFRTtFQUNBO0NyQjBuR0g7O0FxQmpvR0Q7O0VBWUk7Q3JCMG5HSDs7QXFCdm5HQzs7RUFFRTtFQUNBO0NyQjBuR0g7O0FxQnpuR0U7O0VDR0Q7RW5CdUJJO0VtQnJCSjtFYnhGRTtDVG90R0g7O0FxQm5uR0Q7O0VDWEU7RW5CdUJJO0VtQnJCSjtFYnhGRTtDVDR0R0g7O0FxQmxuR0Q7RUFDRTtFQUNBO0NyQnFuR0Q7O0FxQmxuR0M7RUFDRTtDckJxbkdIOztBcUI3bUdDOzs7RUFDRTtDckJrbkdIOztBdUI3dkdEO0VMZ0JNO0NsQml2R0w7O0FrQjd1R0s7RUtwQk47SUxxQlE7R2xCaXZHTDtDQUNGOztBdUJ2d0dEO0VBSUk7Q3ZCdXdHSDs7QXVCbndHRDtFQUVJO0N2QnF3R0g7O0F1Qmp3R0Q7RUFDRTtFQUNBO0VBQ0E7RUxESTtDbEJzd0dMOztBa0Jsd0dLO0VLTk47SUxPUTtHbEJzd0dMO0NBQ0Y7O0F3QjN4R0Q7Ozs7RUFJRTtDeEI4eEdEOztBd0IzeEdEO0VBQ0U7Q3hCOHhHRDs7QXdCL3hHRDtFQ3NCTTtFQUNBO0VBQ0E7RUFDQTtFQWhDSjtFQUNBO0VBQ0E7RUFDQTtDekI4eUdEOztBeUJ6dkdHO0VBQ0U7Q3pCNHZHTDs7QXlCM3ZHSTtFRDFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJCc0dJO0VxQnBHSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWZkRTtDVHd6R0g7O0F3QnZ5R0E7RUFPSztFQUNBO0N4Qm95R0w7O0F3Qm55R0k7RUFHQztFQUNBO0N4Qm95R0w7O0FheHhHRztFV25CQTtJQUNFO0lBQ0E7R3hCK3lHSDs7RXdCNXlHQztJQUNFO0lBQ0E7R3hCK3lHSDtDQUNGOztBYXB5R0c7RVduQkE7SUFDRTtJQUNBO0d4QjJ6R0g7O0V3Qnh6R0M7SUFDRTtJQUNBO0d4QjJ6R0g7Q0FDRjs7QWFoekdHO0VXbkJBO0lBQ0U7SUFDQTtHeEJ1MEdIOztFd0JwMEdDO0lBQ0U7SUFDQTtHeEJ1MEdIO0NBQ0Y7O0FhNXpHRztFV25CQTtJQUNFO0lBQ0E7R3hCbTFHSDs7RXdCaDFHQztJQUNFO0lBQ0E7R3hCbTFHSDtDQUNGOztBd0I3MEdEO0VBRUk7RUFDQTtFQUNBO0VBQ0E7Q3hCKzBHSDs7QXdCOTBHRTtFQy9CRztFQUNBO0VBQ0E7RUFDQTtFQXpCSjtFQUNBO0VBQ0E7RUFDQTtDekIyNEdEOztBeUI3MkdJO0VBaUJDO0N6QmcyR0w7O0F3QnIxR0M7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4QncxR0g7O0F5QnI0R0c7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtDekIyNUdEOztBeUJwM0dHO0VBQ0U7Q3pCdTNHTDs7QXdCNzJHRDtFQVlNO0N4QnEyR0w7O0F3QmgyR0Q7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4QmsyR0g7O0F5Qmg2R0c7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDekJtNkdMOztBd0IvMkdEO0VDeENRO0N6QjI1R1A7O0F5Qng1R0s7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQTlCTjtFQUNBO0VBQ0E7Q3pCMDdHRDs7QXlCejVHRztFQUNFO0N6QjQ1R0w7O0F3Qmo0R0Q7RUFZTTtDeEJ5M0dMOztBd0J4M0dJOzs7O0VBV0Q7RUFDQTtDeEJvM0dIOztBd0IvMkdEO0VFOUdFO0VBQ0E7RUFDQTtFQUNBO0MxQmkrR0Q7O0F3Qi8yR0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDeEJpM0dEOztBSXQrR0M7O0VvQm9JRTtFQUNBO0VKL0lBO0NwQnUvR0g7O0F3Qm40R0Q7O0VBaUNJO0VBQ0E7RUp0SkE7Q3BCOC9HSDs7QXdCcDJHQzs7RUFFRTtFQUNBO0VBQ0E7Q3hCdTJHSDs7QXdCLzFHRDtFQUNFO0N4QmsyR0Q7O0F3QjkxR0Q7RUFDRTtFQUNBO0VBQ0E7RXJCckRJO0VxQnVESjtFQUNBO0N4QmkyR0Q7O0F3QjcxR0Q7RUFDRTtFQUNBO0VBQ0E7Q3hCZzJHRDs7QTJCM2hIRDs7RUFFRTtFQUNBO0VBQ0E7QzNCOGhIRDs7QTJCNWhIQzs7RUFDRTtFQUNBO0MzQmdpSEg7O0EyQnBoSEU7O0VBUEc7QzNCZ2lITDs7QUlwaUh1Qjs7Ozs7O0V1QlNsQjtDM0JvaUhMOztBMkI5aEhEO0VBQ0U7RUFDQTtFQUNBO0MzQmlpSEQ7O0EyQi9oSEM7RUFDRTtDM0JraUhIOztBMkI5aEhEOztFQUlJO0MzQitoSEg7O0EyQjloSEU7O0VsQlJDO0VBQ0E7Q1QyaUhIOztBMkI1aEhDOztFbEJGRTtFQUNBO0NUbWlISDs7QTJCaGhIRDtFQUNFO0VBQ0E7QzNCbWhIRDs7QTJCcmhIRDs7O0VBT0k7QzNCb2hISDs7QTJCamhIQztFQUNFO0MzQm9oSEg7O0EyQmhoSEQ7O0VBQ0U7RUFDQTtDM0JvaEhEOztBMkJqaEhEOztFQUNFO0VBQ0E7QzNCcWhIRDs7QTJCamdIRDtFQUNFO0VBQ0E7RUFDQTtDM0JvZ0hEOztBMkJsZ0hDOztFQUVFO0MzQnFnSEg7O0EyQnBnSEU7O0VBSUM7QzNCcWdISDs7QTJCcGdIRTs7RWxCbEZDO0VBQ0E7Q1QybEhIOztBMkJsZ0hDOztFbEJ4R0U7RUFDQTtDVCttSEg7O0EyQnIvR0Q7O0VBR0k7QzNCdS9HSDs7QTJCci9HRzs7OztFQUVFO0VBQ0E7RUFDQTtDM0IwL0dMOztBMkJ6L0dJO0VDekpIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCc3BIRDs7QTRCcHBIQzs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCdXBISDs7QTRCcnBIRzs7Ozs7Ozs7Ozs7O0VBR0U7QzVCaXFITDs7QTRCNXBIQzs7O0VBR0U7QzVCK3BISDs7QTRCOXBIRTtFQUlDO0M1QjhwSEg7O0E0QjdwSEU7O0VuQlFDO0VBQ0E7Q1QwcEhIOztBNEIvcEgyRDtFQU14RDtFQUNBO0M1QjZwSEg7O0E0QjNwSEc7O0VuQkxBO0VBQ0E7Q1RxcUhIOztBNEJodEhEOzs7RW5CNEJJO0VBQ0E7Q1QwckhIOztBNEJ2dEhEOzs7RW5CNEJJO0VBQ0E7Q1Rpc0hIOztBNEJucEhEOztFQUVFO0M1QnNwSEQ7O0E0QmpwSEM7O0VBQ0U7RUFDQTtDNUJxcEhIOztBNEJocEhFOztFQUZHO0M1QnVwSEw7O0E0Qm5xSEQ7Ozs7Ozs7O0VBb0JJO0M1QjBwSEg7O0E0QnpwSEU7RUFHb0I7QzVCMHBIdEI7O0E0QnpwSEQ7RUFBc0I7QzVCNnBIckI7O0E0QnJwSEQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFekJTSTtFeUJQSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkI1R0U7Q1Rxd0hIOztBNEJycUhEOztFQWtCSTtDNUJ3cEhIOztBNEI5b0hEOztFQUVFO0M1QmlwSEQ7O0E0QmhwSEE7Ozs7OztFQVFDO0V6QjFCSTtFeUI0Qko7RW5CeklFO0NUMnhISDs7QTRCaHBIQTs7RUFJQztDNUJpcEhEOztBNEI5b0hEOzs7Ozs7RUFNRTtFekIzQ0k7RXlCNkNKO0VuQjFKRTtDVDR5SEg7O0E0QjlvSEQ7O0VBRUU7QzVCaXBIRDs7QTRCdG9IRDs7Ozs7Ozs7RW5CM0pJO0VBQ0E7Q1Q0eUhIOztBNEJ6b0hBOzs7Ozs7RW5CdEpHO0VBQ0E7Q1R3eUhIOztBNkJoMUhEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Qm0xSEQ7O0E2QmgxSEQ7RUFDRTtFQUNBO0M3Qm0xSEQ7O0E2QmgxSEQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCbTFIRDs7QTZCM3lIQTtFQXJDRztFQUNBO0VUM0JBO0NwQmczSEg7O0E2Qi8xSEQ7RUFvQk07QzdCKzBITDs7QTZCbjJIRDtFQXlCSTtDN0I4MEhIOztBNkI3MEhFO0VBR0M7RUFDQTtFQUNBO0M3QjgwSEg7O0E2QjUwSEU7O0VBTUc7QzdCMjBITDs7QTZCejBISzs7RUFDRTtDN0I2MEhQOztBNkI1MEhNO0VBVUw7RUFDQTtFQUVBO0M3QnEwSEQ7O0E2QnowSEQ7RUFTSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0JvMEhIOztBNkJ0MUhEO0VBd0JJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCazBISDs7QTZCenpIRDtFcEJqR0k7Q1Q4NUhIOztBNkIxekhFO0VBSUc7QzdCMHpITDs7QTZCenpISTtFQUtDO0VUMUhGO0NwQm03SEg7O0E2QnR6SEk7RUFFQztDN0J3ekhMOztBNkJ2ekhJO0VUaElEO0NwQjI3SEg7O0E2QnJ6SEk7RVR0SUQ7Q3BCKzdISDs7QTZCN3lIQztFQUVFO0M3Qit5SEg7O0E2Qjl5SEU7RUFJRztDN0I4eUhMOztBNkI3eUhJO0VUMUpEO0NwQjI4SEg7O0E2Qmx5SEQ7RUFDRTtDN0JxeUhEOztBNkJseUhHO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QzdCb3lITDs7QTZCbnlISTtFQUdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFWGxMQTtDbEJzOUhMOztBNkJseUhJO0VBVEQ7SVh0S0k7R2xCczlITDtDQUNGOztBNkJweUhHO0VBQ0U7RUFDQTtDN0J1eUhMOztBNkJseUhHO0VUek1BO0NwQisrSEg7O0E2QnB5SEk7RUFZSDtFQUNBO0VBQ0E7RUFDQTtFMUJqR0k7RTBCb0dKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEJ0TkU7RW9CeU5GO0M3QjB4SEQ7O0E2Qnp5SEQ7RUFrQkk7RUFDQTtFQUtFO0M3QnV4SEw7O0E2Qi95SEQ7RUFpQ007RUFDQTtDN0JreEhMOztBNkJwekhEOztFQXdDSTtFQUNBO0VBQ0E7QzdCaXhISDs7QTZCOXdIQztFQUNFO0VBQ0E7QzdCaXhISDs7QTZCaHhIRTtFQUlDO0M3Qmd4SEg7O0E2Qi93SEU7RUFJQztFQUNBO0M3Qit3SEg7O0E2QjN3SEQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFMUIvSkk7Q0g4NkhMOztBNkIzd0hEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTFCdktJO0NIczdITDs7QTZCdHdIRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCeXdIRDs7QTZCdHdIRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Qnl3SEQ7O0E2Qmh4SEQ7RUFVSTtFQUNBO0M3QjB3SEg7O0E2QnJ4SEQ7O0VBaUJJO0M3Qnl3SEg7O0E2QjF4SEQ7RUFzQk07QzdCd3dITDs7QTZCOXhIRDtFQTJCSTtDN0J1d0hIOztBNkJ0d0hFO0VBSUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXBCbFZFO0NUd2xJSDs7QTZCbHdIQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVQ3V0E7RVMrV0E7RXBCbldBO0NUeW1JSDs7QTZCcHdIRTtFQVVEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCOHZIRDs7QTZCNXZIQztFQUNFO0M3Qit2SEg7O0E2QjN2SEc7RUFBMEI7QzdCK3ZIN0I7O0E2Qi92SGlGO0VBQ3BEO0M3Qmt3SDdCOztBNkJqd0hHO0VBQTBCO0M3QnF3SDdCOztBNkJsd0hDO0VBQ0U7QzdCcXdISDs7QTZCdnhIRDtFQXNCSTtFQUNBO0VBQ0E7RVRsWkE7RVNvWkE7RXBCeFlBO0VTRkU7RVc4WUY7QzdCb3dISDs7QTZCL3ZIRTtFQWREO0lYaFlNO0dsQmtwSUw7Q0FDRjs7QTZCeHdIRztFVDFaQTtDcEJzcUlIOztBNkI1eUhEO0VBc0NJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEJ6WkE7Q1RvcUlIOztBNkJ4d0hFO0VBR0M7RUFDQTtFVDVhQTtFUzhhQTtFcEJsYUE7RVNGRTtFV3dhRjtDN0J3d0hIOztBa0I1cUlLO0VXNFdOO0lYM1dRO0dsQmdySUw7Q0FDRjs7QTZCdDBIRDtFVDFYSTtDcEJvc0lIOztBNkIxMEhEO0VBZ0VJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEJuYkE7Q1Rrc0lIOztBNkIxd0hDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFVHpjQTtFUzJjQTtFcEIvYkE7RVNGRTtFV3FjRjtDN0I0d0hIOztBNkJ2d0hFO0VBMUZIO0lYM1dRO0dsQml0SUw7Q0FDRjs7QTZCaHhIRztFVGpkQTtDcEJxdUlIOztBNkIvd0hDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCa3hISDs7QTZCaHhIRTtFQUdDO0VwQnRkQTtDVHd1SUg7O0E2Qmh4SEU7RUFHQztFQUNBO0VwQjVkQTtDVDh1SUg7O0E2Qmh4SEU7RUFJRztDN0JneEhMOztBNkIvd0hJO0VBR0M7QzdCZ3hITDs7QTZCL3dISTtFQUdDO0M3Qmd4SEw7O0E2QjU0SEQ7RUFnSU07QzdCZ3hITDs7QTZCaDVIRDtFQW9JTTtDN0JneEhMOztBNkIvd0hJOzs7RVhyZkM7Q2xCMHdJTDs7QWtCdHdJSztFV3FmTjs7O0lYcGZRO0dsQjR3SUw7Q0FDRjs7QThCN3hJRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCZ3lJRDs7QThCN3hJRDtFQUNFO0VBQ0E7QzlCZ3lJRDs7QThCbnhJQTs7RUFURztDOUJpeUlIOztBOEI3eElDO0VBQ0U7RUFDQTtFQUNBO0M5Qmd5SUg7O0E4Qnh4SUQ7RUFDRTtDOUIyeElEOztBOEJ6eElDO0VBQ0U7RUFDQTtFckJaQTtFQUNBO0NUeXlJSDs7QThCbnlJRDs7RUFTTTtDOUIreElMOztBSXZ6SUU7RTBCNEJHO0VBQ0E7RUFDQTtDOUIreElMOztBOEIzeElDOztFQUVFO0VBQ0E7RUFDQTtDOUI4eElIOztBOEI3eElFO0VBSUM7RXJCbkNBO0VBQ0E7Q1RpMElIOztBOEJweElEO0VyQnZESTtDVCswSUg7O0E4QnJ4SUU7O0VBSUM7RUFDQTtDOUJzeElIOztBOEI3d0lEOztFQUdJO0VBQ0E7QzlCK3dJSDs7QThCM3dJRDs7RUFHSTtFQUNBO0VBQ0E7QzlCNndJSDs7QThCbndJQztFQUNFO0M5QnN3SUg7O0E4QnJ3SUU7RUFFQztDOUJ1d0lIOztBK0IzMklEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQjgySUQ7O0ErQnAzSUQ7Ozs7OztFQVdJO0VBQ0E7RUFDQTtFQUNBO0MvQmszSUg7O0ErQjkxSUQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFNUJ3RUk7RTRCdEVKO0VBQ0E7Qy9CaTJJRDs7QStCeDJJRDs7RUFVSTtDL0JtMklIOztBSTc0SUU7RTJCb0REO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CNjFJRDs7QStCMzFJQztFQUNFO0VBQ0E7Qy9CODFJSDs7QStCNzFJRTtFQUdDO0VBQ0E7Qy9CODFJSDs7QStCNzFJRTtFQVNEO0VBQ0E7RUFDQTtDL0J3MUlEOztBK0J2MUlBO0VBWUM7RUFDQTtFQUdBO0MvQjYwSUQ7O0ErQjUwSUE7RUFJQztFNUJTSTtFNEJQSjtFQUNBO0VBQ0E7RXRCeEdFO0NUcTdJSDs7QUl2N0lDOztFMkI4R0U7Qy9CODBJSDs7QStCeDBJRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0IyMElEOztBK0IxMElBO0VBR0M7RUFDQTtDL0IyMElEOztBK0IxMElBO0VBV087Ozs7OztJQUNFO0lBQ0E7Ry9CdzBJUDtDQUNGOztBYTE2SUc7RWtCNkZDO0lBb0JHO0lBQ0E7Ry9COHpJTDs7RStCNXpJSztJQUNFO0cvQit6SVA7O0UrQjd6SU87SUFDRTtHL0JnMElUOztFK0IveklRO0lBR0M7SUFDQTtHL0JnMElUOztFK0IveklROzs7Ozs7SUFLRDtHL0JtMElQOztFK0J6MklFO0lBcURLO0cvQnd6SVA7O0UrQnZ6SU07SUFHQztJQUdBO0cvQnN6SVA7O0UrQnJ6SU07SUFHQztHL0JzeklQO0NBQ0Y7O0FhdjhJRztFa0JnRkM7Ozs7OztJQUdLO0lBQ0E7Ry9CODNJUDtDQUNGOztBYWgrSUc7RWtCNkZBO0lBb0JJO0lBQ0E7Ry9CbzNJTDs7RStCejRJRTtJQXdCSztHL0JxM0lQOztFK0IzMklNO0lBUEc7Ry9CczNJVDs7RStCbjNJTztJQUNFO0lBQ0E7Ry9CczNJVDs7RStCajNJSzs7Ozs7O0lBQ0U7Ry9CeTNJUDs7RStCeDNJTTtJQWNDO0cvQjgySVA7O0UrQjMySUs7SUFDRTtJQUdBO0cvQjQySVA7O0UrQng2SUU7SUFnRUs7Ry9CNDJJUDtDQUNGOztBYTcvSUc7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0cvQm83SVA7Q0FDRjs7QWF0aEpHO0VrQjZGQztJQW9CRztJQUNBO0cvQjA2SUw7O0UrQng2SUs7SUFDRTtHL0IyNklQOztFK0J6NklPO0lBQ0U7Ry9CNDZJVDs7RStCMzZJUTtJQUdDO0lBQ0E7Ry9CNDZJVDs7RStCMzZJUTs7Ozs7O0lBS0Q7Ry9CKzZJUDs7RStCajZJSztJQUNFO0cvQm82SVA7O0UrQm42SU07SUFHQztJQUdBO0cvQms2SVA7O0UrQmo2SU07SUFHQztHL0JrNklQO0NBQ0Y7O0FhbmpKRztFa0JnRkM7Ozs7OztJQUdLO0lBQ0E7Ry9CMCtJUDtDQUNGOztBYTVrSkc7RWtCNkZBO0lBb0JJO0lBQ0E7Ry9CZytJTDs7RStCbDdJRTtJQTNDSztHL0JpK0lQOztFK0J6L0lFO0lBMkJPO0cvQmsrSVQ7O0UrQjcvSUU7SUErQk87SUFDQTtHL0JrK0lUOztFK0JsZ0pFOzs7Ozs7SUFzQ0s7Ry9CcStJUDs7RStCM2dKRTtJQXFESztHL0IwOUlQOztFK0IvZ0pFO0lBeURLO0lBR0E7Ry9CdzlJUDs7RStCcjlJSztJQUNFO0cvQnc5SVA7Q0FDRjs7QStCemhKRztFQW9CSTtFQUNBO0MvQnlnSlA7O0ErQjVoSk87Ozs7OztFQUNFO0VBQ0E7Qy9Cb2lKVDs7QStCN2lKRDtFQTZCVTtDL0JvaEpUOztBK0JqakpEO0VBZ0NZO0MvQnFoSlg7O0ErQnJqSkQ7RUFvQ1k7RUFDQTtDL0JxaEpYOztBK0IxakpEOzs7Ozs7RUEyQ1U7Qy9Cd2hKVDs7QStCdmhKUTtFQWNDO0MvQjZnSlQ7O0ErQnZrSkQ7RUE4RFU7RUFHQTtDL0IyZ0pUOztBK0J4Z0pPO0VBQ0U7Qy9CMmdKVDs7QStCMWdKUTtFQWNMO0MvQmdnSkg7O0FJeHRKQzs7RTJCMk5JO0MvQmtnSkw7O0ErQnZnSkQ7RUFXTTtDL0JnZ0pMOztBK0J2L0lJOztFQU5HO0MvQmtnSlA7O0FJbnVKRTtFMkJxT0s7Qy9Ca2dKUDs7QStCcGhKRDs7OztFQTBCTTtDL0JpZ0pMOztBK0JoZ0pJO0VBSUQ7RUFDQTtDL0JnZ0pIOztBK0IvL0lFO0VBR0M7Qy9CZ2dKSDs7QStCcGlKRDtFQXdDSTtDL0JnZ0pIOztBK0J4aUpEO0VBMENNO0MvQmtnSkw7O0ErQjVpSkQ7O0VBNkNRO0MvQm9nSlA7O0FJcHdKRTtFMkJ5UUM7Qy9CKy9JSDs7QStCamdKRDs7RUFLTTtDL0JpZ0pMOztBK0I1L0lHO0VBQ0U7Qy9CKy9JTDs7QStCdC9JSTs7RUFORztDL0JpZ0pQOztBK0I5L0lLO0VBQ0U7Qy9CaWdKUDs7QStCaGdKTTs7OztFQU9EO0MvQmdnSkw7O0ErQjUvSUM7RUFDRTtFQUNBO0MvQisvSUg7O0ErQi9oSkQ7RUFvQ0k7Qy9CKy9JSDs7QStCNS9JQztFQUNFO0MvQisvSUg7O0ErQjkvSUc7RUFDRTtDL0JpZ0pMOztBK0I1L0lJOztFQUZHO0MvQm1nSlA7O0FJdnpKRTtFNEJkRDtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0V2QktFO0NUbzBKSDs7QWdDdDBKQztFQUNFO0VBQ0E7Q2hDeTBKSDs7QWdDeDBKRTtFQUdDO0VBQ0E7Q2hDeTBKSDs7QWdDdjBKRztFQUNFO0V2QkNGO0VBQ0E7Q1QwMEpIOztBZ0MxMEpJO0VBR0M7RXZCVUY7RUFDQTtDVGswSkg7O0FnQzMwSkk7O0VBT0Q7Q2hDeTBKSDs7QWdDcjBKRDtFQUdFO0VBR0E7RUFDQTtDaENvMEpEOztBZ0NoMEpEO0VBQ0U7Q2hDbTBKRDs7QWdDaDBKRDtFQUNFO0VBQ0E7Q2hDbTBKRDs7QWdDaDBKRDtFQUNFO0NoQ20wSkQ7O0FnQ2wwSkE7RUFJRztDaENrMEpIOztBZ0NwMEpEO0VBTUk7Q2hDazBKSDs7QWdDMXpKRDtFQUNFO0VBQ0E7RUFFQTtFQUNBO0NoQzR6SkQ7O0FnQ2owSkQ7RXZCaEVJO0NUcTRKSDs7QWdDNXpKRTtFQUlEO0VBRUE7RUFDQTtDaEMyekpEOztBZ0N6ekpDO0V2QmxGRTtDVCs0Skg7O0FnQ256SkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDaENzekpEOztBZ0NuekpEO0VBQ0U7RUFDQTtDaENzekpEOztBZ0NsekpEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2Qi9HRTtDVHE2Skg7O0FnQ3B6SkE7OztFQUtDO0VBQ0E7Q2hDcXpKRDs7QWdDcHpKQTs7RXZCL0dHO0VBQ0E7Q1R3NkpIOztBZ0NuekpEOztFdkJ4R0k7RUFDQTtDVGc2Skg7O0FnQ2p6SkQ7RUFFSTtDaENtekpIOztBYWw1Skc7RW1CNkZKO0lBTUk7SUFDQTtJQUNBO0lBQ0E7R2hDb3pKRDs7RWdDN3pKSDtJQWFNO0lBQ0E7SUFDQTtJQUNBO0doQ296Skg7Q0FDRjs7QWdDeHlKQztFQUNFO0NoQzJ5Skg7O0FnQzF5SkU7RUFMSDtJQVFJO0lBQ0E7R2hDNHlKRDs7RWdDN3ZKRjtJQTFDSztJQUNBO0doQzJ5Skg7O0VnQzF6Skg7SUFrQlE7SUFDQTtHaEM0eUpMOztFZ0MvekpIO0l2QmpKSTtJQUNBO0dUbzlKRDs7RWdDL3hKTTs7SUFQRztHaEMyeUpUOztFZ0N6MEpIOztJQW1DWTtHaEMyeUpUOztFZ0MxeUpRO0l2QnZLUDtJQUNBO0dUcTlKRDs7RWdDenlKTzs7SUFHRTtHaEMyeUpUOztFZ0N4MUpIOztJQWtEWTtHaEMyeUpUO0NBQ0Y7O0FnQzl4SkM7RUFDRTtDaENpeUpIOztBZ0NoeUpFO0VBSEg7SUFNSTtJQUNBO0lBQ0E7SUFDQTtHaENreUpEOztFZ0MzeUpIO0lBWU07SUFDQTtHaENteUpIO0NBQ0Y7O0FnQzF4SkQ7RUFDRTtDaEM2eEpEOztBZ0M5eEpEO0VBSUk7Q2hDOHhKSDs7QWdDL3dKRTtFQVpHO0V2QnZPRjtFQUNBO0NUdWdLSDs7QWdDeHlKRDtFdkI5T0k7RUFDQTtDVDBoS0g7O0FnQzl4Skc7RXZCdFFBO0V1QndRRTtDaENpeUpMOztBZ0NoeUpJO0VDMVJIO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFeEJXRTtDVG1qS0g7O0FpQzFqS0Q7RUFHSTtDakMyaktIOztBaUN6aktHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2pDNGpLTDs7QWlDM2pLSTtFQVVEO0NqQ3FqS0g7O0FpQ3RqS0M7RUFLRTtDakNxaktIOztBaUNwaktFO0VBR0M7Q2pDcWpLSDs7QWtDNWxLRDtFQUNFO0U1QkdBO0VBQ0E7RUdhRTtDVGlsS0g7O0FrQzdsS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NsQytsS0Q7O0FrQ3htS0Q7RUFZSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQ2dtS0g7O0FrQy9sS0U7RUFHQztFQUNBO0VBQ0E7Q2xDZ21LSDs7QWtDMWxLRztFQUNFO0V6QmFGO0VBQ0E7Q1RpbEtIOztBa0MxbEtHO0V6Qk5BO0VBQ0E7Q1RvbUtIOztBa0MxbEtDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xDNmxLSDs7QWtDMWxLQztFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q2xDNGxLSDs7QWtDbmxLRDtFQy9ESTtFaEMySEU7RWdDekhGO0NuQ3NwS0g7O0FtQ3JwS0U7RTFCeUNDO0VBQ0E7Q1RnbktIOztBbUNwcEtNO0UxQnFCSDtFQUNBO0NUbW9LSDs7QW1DbnFLQztFQUNFO0VoQzJIRTtFZ0N6SEY7Q25Dc3FLSDs7QWtDcm1LRDtFekJ2Qkk7RUFDQTtDVGdvS0g7O0FtQ2pxS0s7RTFCa0JGO0VBQ0E7Q1RtcEtIOztBb0NqcktEO0VBQ0U7RUFDQTtFakNpRUU7RWlDL0RGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCS0U7RVNGRTtDbEJtcktMOztBa0IvcUtLO0VrQmZOO0lsQmdCUTtHbEJtcktMO0NBQ0Y7O0FvQ3hyS1M7O0VBRUo7Q3BDMnJLTDs7QW9DdHJLQztFQUNFO0NwQ3lyS0g7O0FvQ3ByS0Q7RUFDRTtFQUNBO0NwQ3VyS0Q7O0FvQ3RyS0E7RUFPQztFQUNBO0UzQnZCRTtDVDJzS0g7O0FvQ2xyS0E7RUMxQ0M7RUFDQTtDckNndUtEOztBSWx0S0M7O0VpQ1ZJO0VBQ0E7Q3JDaXVLTDs7QXFDOXRLRzs7RUFFRTtFQUNBO0NyQ2l1S0w7O0FvQzVyS0M7RUNqREE7RUFDQTtDckNpdktEOztBcUMvdUtTOztFQUVKO0VBQ0E7Q3JDa3ZLTDs7QUl0dUtFOztFaUNQRztFQUNBO0NyQ2t2S0w7O0FvQzdzS0M7RUNqREE7RUFDQTtDckNrd0tEOztBb0NodEtFOztFQzlDRztFQUNBO0NyQ213S0w7O0FxQ3R3S1M7O0VBUUo7RUFDQTtDckNtd0tMOztBb0M5dEtDO0VDakRBO0VBQ0E7Q3JDbXhLRDs7QXFDanhLUzs7RUFFSjtFQUNBO0NyQ294S0w7O0FxQ2p4S0c7O0VBRUU7RUFDQTtDckNveEtMOztBcUNueEtJO0VBYkg7RUFDQTtDckNveUtEOztBSXR4S0M7O0VpQ1ZJO0VBQ0E7Q3JDcXlLTDs7QXFDeHlLUzs7RUFRSjtFQUNBO0NyQ3F5S0w7O0FvQ2h3S0M7RUNqREE7RUFDQTtDckNxektEOztBcUNuektTOztFQUVKO0VBQ0E7Q3JDc3pLTDs7QXFDbnpLRzs7RUFFRTtFQUNBO0NyQ3N6S0w7O0FvQ2p4S0M7RUNqREE7RUFDQTtDckNzMEtEOztBb0NweEtFOztFQzlDRztFQUNBO0NyQ3UwS0w7O0FJM3pLRTs7RWlDUEc7RUFDQTtDckN1MEtMOztBb0NseUtDO0VDakRBO0VBQ0E7Q3JDdTFLRDs7QXFDcjFLUzs7RUFFSjtFQUNBO0NyQ3cxS0w7O0FxQ3IxS0c7O0VBRUU7RUFDQTtDckN3MUtMOztBcUN2MUtJO0VDYkg7RUFDQTtFQUVBO0U3QmNFO0NUMDFLSDs7QXNDbDJLQTtFQVZEO0lBUUk7R3RDeTJLRDtDQUNGOztBc0N0MktEO0VBQ0U7RUFDQTtFN0JJRTtDVHMyS0g7O0F1Q3AzS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFOUJVRTtDVDgyS0g7O0F1Q3QzS0E7RUFLQztDdkNxM0tEOztBdUNwM0tBO0VBSUM7Q3ZDbzNLRDs7QXVDNTJLRDtFQUNFO0N2QysyS0Q7O0F1QzUyS0M7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDKzJLSDs7QXVDOTJLRTtFQ3RDRDtFcEJLRTtFb0JIRjtDeEN3NUtEOztBdUMzMktDO0VDMUNFO0N4Q3k1S0g7O0F3Q3g1S0U7RUFHQztDeEN5NUtIOztBdUNuM0tDO0VDL0NBO0VwQktFO0VvQkhGO0N4Q3M2S0Q7O0F1Q3YzS0U7RUM1Q0M7Q3hDdTZLSDs7QXdDdDZLRTtFQUdDO0N4Q3U2S0g7O0F3Q3Q2S0U7RUFWRDtFcEJLRTtFb0JIRjtDeENvN0tEOztBd0NsN0tDO0VBQ0U7Q3hDcTdLSDs7QXVDMzRLQztFQ3RDRTtDeENxN0tIOztBd0NwN0tFO0VBVkQ7RXBCS0U7RW9CSEY7Q3hDazhLRDs7QXdDaDhLQztFQUNFO0N4Q204S0g7O0F3Q2w4S0U7RUFHQztDeENtOEtIOztBdUM3NUtDO0VDL0NBO0VwQktFO0VvQkhGO0N4Q2c5S0Q7O0F1Q2o2S0U7RUM1Q0M7Q3hDaTlLSDs7QXVDdjZLQztFQ3RDRTtDeENpOUtIOztBdUMzNktDO0VDL0NBO0VwQktFO0VvQkhGO0N4Qzg5S0Q7O0F1Q2o3S0M7RUMxQ0U7Q3hDKzlLSDs7QXdDNTlLQztFQUNFO0N4Qys5S0g7O0F1Q3o3S0M7RUMvQ0E7RXBCS0U7RW9CSEY7Q3hDNCtLRDs7QXVDNzdLRTtFQzVDQztDeEM2K0tIOztBd0M1K0tFO0VBR0M7Q3hDNitLSDs7QXVDdjhLQztFQy9DQTtFcEJLRTtFb0JIRjtDeEMwL0tEOztBdUMzOEtFO0VDNUNDO0N4QzIvS0g7O0F1Q2o5S0M7RUN0Q0U7Q3hDMi9LSDs7QXlDbmdMQztFQUNFO0lBQU87R3pDdWdMUjs7RXlDdGdMQztJQUFLO0d6QzBnTE47Q0FDRjs7QXlDdmdMRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0V0Q21ISTtFc0NqSEo7RWhDSUU7Q1R1Z0xIOztBeUN0Z0xEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdkJYSTtDbEJxaExMOztBeUN4Z0xBO0VBVkQ7SXZCRVE7R2xCcWhMTDtDQUNGOztBeUM1Z0xEO0VyQllFO0VxQlZBO0N6QytnTEQ7O0F5QzNnTEM7RUFDRTtDekM4Z0xIOztBeUN2Z0xFO0VBUkQ7SUFLTTtHekMrZ0xMO0NBQ0Y7O0EwQzFqTEQ7RUFDRTtFQUNBO0MxQzZqTEQ7O0EwQzFqTEQ7RUFDRTtDMUM2akxEOztBMkMvakxEO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RWxDUUU7Q1R5akxIOztBMkN2akxEO0VBQ0U7RUFDQTtFQUNBO0MzQzBqTEQ7O0EyQzVpTEE7O0VBVkc7RUFDQTtFQUNBO0VBQ0E7QzNDMmpMSDs7QUl0a0xFO0V1Q2VDO0VBQ0E7QzNDMmpMSDs7QTJDbGpMRDtFQUNFO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QzNDbWpMRDs7QTJDbGhMQTtFbEN6REc7RUFDQTtDVCtrTEg7O0EyQy9qTEQ7RWxDSEk7RUFDQTtDVHNrTEg7O0EyQ25qTEM7O0VBRUU7RUFDQTtFQUNBO0MzQ3NqTEg7O0EyQzNrTEQ7RUEwQkk7RUFDQTtFQUNBO0VBQ0E7QzNDcWpMSDs7QTJDcGpMRTtFQUdDO0MzQ3FqTEg7O0EyQ3RsTEQ7RUFvQ007RUFDQTtDM0NzakxMOztBMkNyakxJO0VBY0M7QzNDMmlMTDs7QTJDNWlMRztFbEN0QkE7RUFaQTtDVG1sTEg7O0EyQ2pqTEc7RWxDbENBO0VBWUE7Q1Q0a0xIOztBMkN0akxHO0VBZU07QzNDMmlMVDs7QTJDMWpMRztFQW1CTTtFQUNBO0MzQzJpTFQ7O0EyQy9qTEc7RUF1QlE7RUFDQTtDM0M0aUxYOztBMkMzaUxVO0VBekJQO0lBQ0U7RzNDd2tMSDs7RTJDemtMQztJbEN0QkE7SUFaQTtHVGduTEQ7O0UyQzlrTEM7SWxDbENBO0lBWUE7R1R5bUxEOztFMkNubExDO0lBZU07RzNDd2tMUDs7RTJDdmtMTTtJQUdDO0lBQ0E7RzNDd2tMUDs7RTJDdGtMTztJQUNFO0lBQ0E7RzNDeWtMVDtDQUNGOztBYXJvTEc7RThCbUNBO0lBQ0U7RzNDc21MSDs7RTJDbm1MSztJbEMxQko7SUFaQTtHVDhvTEQ7O0UyQ3JtTE07SWxDekNMO0lBWUE7R1R1b0xEOztFMkNybUxNO0lBR0M7RzNDc21MUDs7RTJDcm1MTTtJQUdDO0lBQ0E7RzNDc21MUDs7RTJDcG1MTztJQUNFO0lBQ0E7RzNDdW1MVDtDQUNGOztBYW5xTEc7RThCbUNBO0lBQ0U7RzNDb29MSDs7RTJDam9MSztJbEMxQko7SUFaQTtHVDRxTEQ7O0UyQ25vTE07SWxDekNMO0lBWUE7R1RxcUxEOztFMkNub0xNO0lBR0M7RzNDb29MUDs7RTJDbm9MTTtJQUdDO0lBQ0E7RzNDb29MUDs7RTJDbG9MTztJQUNFO0lBQ0E7RzNDcW9MVDtDQUNGOztBYWpzTEc7RThCbUNBO0lBQ0U7RzNDa3FMSDs7RTJDL3BMSztJbEMxQko7SUFaQTtHVDBzTEQ7O0UyQ2pxTE07SWxDekNMO0lBWUE7R1Rtc0xEOztFMkNqcUxNO0lBR0M7RzNDa3FMUDs7RTJDanFMTTtJQUdDO0lBQ0E7RzNDa3FMUDs7RTJDaHFMTztJQUNFO0lBQ0E7RzNDbXFMVDtDQUNGOztBMkN0cExEO0VsQ25ISTtDVDZ3TEg7O0EyQzFwTEQ7RUFJSTtDM0MwcExIOztBMkNycExFO0VBRkc7QzNDMnBMTDs7QTRDcHlMQztFQUNFO0VBQ0E7QzVDdXlMSDs7QTRDenhMRTs7RUFWSztFQUNBO0M1Q3d5TFA7O0FJL3hMRTtFd0NMSztFQUNBO0VBQ0E7QzVDd3lMUDs7QTRDcnpMQztFQUNFO0VBQ0E7QzVDd3pMSDs7QUk3eUxDOztFd0NQTTtFQUNBO0M1Q3l6TFA7O0FJaHpMRTtFd0NMSztFQUNBO0VBQ0E7QzVDeXpMUDs7QTRDdDBMQztFQUNFO0VBQ0E7QzVDeTBMSDs7QUk5ekxDOztFd0NQTTtFQUNBO0M1QzAwTFA7O0E0Q2oxTEM7RUFXTTtFQUNBO0VBQ0E7QzVDMDBMUDs7QTRDdjFMQztFQUNFO0VBQ0E7QzVDMDFMSDs7QTRDNTFMQzs7RUFNTTtFQUNBO0M1QzIxTFA7O0E0Q2wyTEM7RUFXTTtFQUNBO0VBQ0E7QzVDMjFMUDs7QTRDeDJMQztFQUNFO0VBQ0E7QzVDMjJMSDs7QTRDNzJMQzs7RUFNTTtFQUNBO0M1QzQyTFA7O0E0Q3oyTEs7RUFDRTtFQUNBO0VBQ0E7QzVDNDJMUDs7QTRDMzJMTTtFQWJIO0VBQ0E7QzVDNDNMSDs7QTRDOTJMRTs7RUFWSztFQUNBO0M1QzYzTFA7O0FJcDNMRTtFd0NMSztFQUNBO0VBQ0E7QzVDNjNMUDs7QTRDMTRMQztFQUNFO0VBQ0E7QzVDNjRMSDs7QUlsNExDOztFd0NQTTtFQUNBO0M1Qzg0TFA7O0E0QzM0TEs7RUFDRTtFQUNBO0VBQ0E7QzVDODRMUDs7QTRDMzVMQztFQUNFO0VBQ0E7QzVDODVMSDs7QTRDaDVMRTs7RUFWSztFQUNBO0M1Qys1TFA7O0E0Q3Q2TEM7RUFXTTtFQUNBO0VBQ0E7QzVDKzVMUDs7QTZDLzZMRDtFQUNFO0UxQzhISTtFMEM1SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0NrN0xEOztBNkN6N0xEO0VBV0k7RUFDQTtDN0NrN0xIOztBSTk2TEM7O0V5Q0NJO0M3Q2s3TEw7O0E2Q3Y2TEQ7RUFDRTtFQUNBO0VBQ0E7QzdDMDZMRDs7QTZDcDZMRDtFQUNFO0M3Q3U2TEQ7O0E4Qzc4TEQ7RUFHRTtFQUNBO0UzQzJISTtFMkN4SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckNPRTtDVHU4TEg7O0E4QzM4TEM7RUFDRTtDOUM4OExIOztBOEM3OUxEO0VBbUJJO0M5Qzg4TEg7O0E4Q2orTEQ7RUF1Qkk7RUFDQTtDOUM4OExIOztBOEMzOExDO0VBQ0U7QzlDODhMSDs7QThDNzhMRTtFQUlEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQ1pFO0VBQ0E7Q1QwOUxIOztBOEMzOExEO0VBQ0U7QzlDODhMRDs7QStDcC9MRDtFQUVFO0MvQ3MvTEQ7O0ErQ3gvTEQ7RUFLSTtFQUNBO0MvQ3UvTEg7O0ErQ3QvTEU7RUFLRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7Qy9DbS9MRDs7QStDNStMRDtFQUNFO0VBQ0E7RUFDQTtFQUVBO0MvQzgrTEQ7O0ErQy85TEE7RTdCdkNLO0U2QjZCRjtDL0M4K0xIOztBK0M3K0xFO0VBSEQ7STdCdEJNO0dsQjJnTUw7Q0FDRjs7QStDbC9MQztFQUNFO0MvQ3EvTEg7O0ErQ2ovTEM7RUFDRTtDL0NvL0xIOztBK0NoL0xEO0VBQ0U7RUFDQTtDL0NtL0xEOztBK0NqL0xDO0VBQ0U7RUFDQTtDL0NvL0xIOztBK0MxL0xEOztFQVdJO0MvQ28vTEg7O0ErQy8vTEQ7RUFlSTtDL0NvL0xIOztBK0NoL0xEO0VBQ0U7RUFDQTtFQUNBO0MvQ20vTEQ7O0ErQzM5TEE7RUFwQkc7RUFDQTtFQUNBO0VBQ0E7Qy9DbS9MSDs7QStDNy9MRDtFQWVJO0VBQ0E7RUFDQTtDL0NrL0xIOztBK0NuZ01EO0VBb0JNO0MvQ20vTEw7O0ErQ2gvTEc7RUFDRTtDL0NtL0xMOztBK0M3K0xEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFdENsR0U7RXNDc0dGO0MvQzQrTEQ7O0ErQzMrTEE7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0MyK0xEOztBK0N4K0xDO0VBQVM7Qy9DNCtMVjs7QStDdC9MRDtFQVdXO0MvQysrTFY7O0ErQy8rTDhDO0VBTTdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRDdEhFO0VBQ0E7Q1RvbU1IOztBK0M1K0xDO0VBQ0U7RUFFQTtDL0M4K0xIOztBK0N6K0xEO0VBQ0U7RUFDQTtDL0M0K0xEOztBK0N2K0xEO0VBQ0U7RUFHQTtFQUNBO0MvQ3crTEQ7O0ErQ3ArTEQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRDeklFO0VBQ0E7Q1Rpbk1IOztBK0NuK0xDO0VBQ0U7Qy9DcytMSDs7QStDaitMRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9DbytMRDs7QWEzbU1HO0VrQ3pCSjtJQXVLSTtJQUNBO0cvQ2srTEQ7O0UrQ3BuTUg7SUFzSkk7Ry9DaytMRDs7RStDcG5NRDtJQXFKSTtHL0NtK0xIOztFK0N6bU1IO0lBMklJO0cvQ2srTEQ7O0UrQzU5TEE7SUFIRztJQUNBO0cvQ20rTEg7O0UrQ2wrTEU7SUFPUztHL0MrOUxYO0NBQ0Y7O0Fhdm9NRztFa0MyS0Y7O0lBRUU7Ry9DZytMRDtDQUNGOztBYTlvTUc7RWtDa0xGO0lBQVk7Ry9DaStMWDtDQUNGOztBZ0Qvc01EO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUNKQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Q2dISTtFNkNwSEo7RUFDQTtDaEQ0dE1EOztBZ0QxdE1DO0VBQVM7Q2hEOHRNVjs7QWdEOXRNdUM7RUFHcEM7RUFDQTtFQUNBO0VBQ0E7Q2hEK3RNSDs7QWdEN3RNRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0NoRGd1TUw7O0FnRDN0TUQ7O0VBQ0U7Q2hEK3RNRDs7QWdEcHRNQTs7RUFSRztDaERpdU1IOztBZ0QxdE1FOztFQUpHO0VBQ0E7RUFDQTtDaERtdU1MOztBZ0Q5dE1EOztFQUNFO0NoRGt1TUQ7O0FnRGh1TUM7O0VBQ0U7RUFDQTtFQUNBO0NoRG91TUg7O0FnRDd0TUU7O0VBSkc7RUFDQTtFQUNBO0NoRHN1TUw7O0FnRGp1TUQ7O0VBQ0U7Q2hEcXVNRDs7QWdEbnVNQzs7RUFDRTtDaER1dU1IOztBZ0RydU1HOztFQUNFO0VBQ0E7RUFDQTtDaER5dU1MOztBZ0RwdU1EOztFQUNFO0NoRHd1TUQ7O0FnRHR1TUM7O0VBQ0U7RUFDQTtFQUNBO0NoRDB1TUg7O0FnRHh1TUc7O0VBQ0U7RUFDQTtFQUNBO0NoRDR1TUw7O0FnRHZ0TUQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V2QzlGRTtDVHl6TUg7O0FnRHp0TUE7RUVqSEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VETEE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUNnSEk7RStDbkhKO0VBQ0E7RUFDQTtFQUNBO0V6Q0dFO0NUczFNSDs7QWtEcjFNQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEdzFNSDs7QWtEdDFNRzs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRHkxTUw7O0FrRHgxTUk7O0VBS0g7Q2xEdzFNRDs7QWtEejFNRDs7RUFJSTtDbEQwMU1IOztBa0R4MU1HOztFQUNFO0VBQ0E7RUFDQTtDbEQ0MU1MOztBa0R6MU1HOztFQUNFO0VBQ0E7RUFDQTtDbEQ2MU1MOztBa0R4MU1EOztFQUNFO0NsRDQxTUQ7O0FrRDExTUM7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEODFNSDs7QWtEajFNRTs7RUFWRztFQUNBO0VBQ0E7Q2xEZzJNTDs7QWtELzFNSTs7RUFHQztFQUNBO0VBQ0E7Q2xEaTJNTDs7QWtENTFNRDs7RUFDRTtDbERnMk1EOztBa0Q5MU1DOztFQUNFO0NsRGsyTUg7O0FrRGgyTUc7O0VBQ0U7RUFDQTtFQUNBO0NsRG8yTUw7O0FrRDcyTUQ7O0VBYU07RUFDQTtFQUNBO0NsRHEyTUw7O0FrRHAyTUk7O0VBS0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbERvMk1IOztBa0RoMk1EOztFQUNFO0NsRG8yTUQ7O0FrRGgxTUE7O0VBakJHO0VBQ0E7RUFDQTtFQUNBO0NsRHMyTUg7O0FrRHAyTUc7O0VBQ0U7RUFDQTtFQUNBO0NsRHcyTUw7O0FrRHAzTUQ7O0VBZ0JNO0VBQ0E7RUFDQTtDbER5Mk1MOztBa0RuMU1EO0VBQ0U7RUFDQTtFL0MzQkk7RStDOEJKO0VBQ0E7RXpDbklFO0VBQ0E7Q1R5OU1IOztBa0RwMU1DO0VBQ0U7Q2xEdTFNSDs7QWtEdDFNRTtFQUlEO0VBQ0E7Q2xEczFNRDs7QWtEcjFNQTtFQzNKQztDbkRvL01EOztBbURqL01EO0VBQ0U7Q25Eby9NRDs7QW1Eai9NRDtFQUNFO0VBQ0E7RUFDQTtDbkRvL01EOztBbURsL01BO0VDeEJHO0VBQ0E7RUFDQTtDcEQ4Z05IOztBb0Q3Z05FO0VEd0JEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakNsQkk7Q2xCNGdOTDs7QWtCeGdOSztFaUNRTjtJakNQUTtHbEI0Z05MO0NBQ0Y7O0FtRDUvTUQ7OztFQUdFO0NuRCsvTUQ7O0FtRDkvTUE7O0VBSUM7Q25EKy9NRDs7QW1EOS9NQTs7RUFJQztDbkQrL01EOztBbUQ5L01BO0VBU0c7RUFDQTtFQUNBO0NuRHkvTUg7O0FtRHgvTUU7OztFQUtDO0VBQ0E7Q25EeS9NSDs7QW1EeC9NRTs7RUFJQztFQUNBO0VqQzVERTtDbEJzak5MOztBbUR4L01FO0VBbkJIOztJakN0Q1E7R2xCdWpOTDtDQUNGOztBbUR2L01EOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDbkZJO0NsQjZrTkw7O0FtRGgvTUE7RUF2QkQ7O0lqQ2pFUTtHbEI4a05MO0NBQ0Y7O0FJcGxOQzs7OztFK0N3RkU7RUFDQTtFQUNBO0VBQ0E7Q25EbWdOSDs7QW1EaGdORDtFQUNFO0NuRG1nTkQ7O0FtRDkvTUQ7RUFDRTtDbkRpZ05EOztBbUQ3L01BOztFQUtDO0VBQ0E7RUFDQTtFQUNBO0NuRDYvTUQ7O0FtRDUvTUE7RUFFQztDbkQ4L01EOztBbUQ1L01EO0VBQ0U7Q25EKy9NRDs7QW1EdC9NRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q25Edy9NRDs7QW1EdC9NQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VqQzVKRTtDbEJxcE5MOztBa0JqcE5LO0VpQzRITjtJakMzSFE7R2xCcXBOTDtDQUNGOztBbUQzaE5EO0VBaUNJO0NuRDgvTUg7O0FtRDcvTUU7RUFTRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25Edy9NRDs7QW1Edi9NQTtFRS9MQztJQUFLO0dyRDJyTko7Q0FDRjs7QXFEenJORDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7Q3JEMnJORDs7QXFEMXJOQTtFQUdDO0VBQ0E7RUFDQTtDckQyck5EOztBcUQxck5BO0VBT0M7SUFDRTtHckR1ck5EOztFcURyck5EO0lBQ0U7SUFDQTtHckR3ck5EO0NBQ0Y7O0FxRHJyTkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0NyRHVyTkQ7O0FxRHByTkQ7RUFDRTtFQUNBO0NyRHVyTkQ7O0FxRHRyTkE7RUFJRzs7SUFFRTtHckRzck5IO0NBQ0Y7O0FzRGx2TkQ7RUFBcUI7Q3REc3ZOcEI7O0FzRHJ2TkQ7RUFBcUI7Q3REeXZOcEI7O0FzRHh2TkQ7RUFBcUI7Q3RENHZOcEI7O0FzRDN2TkQ7RUFBcUI7Q3REK3ZOcEI7O0FzRC92TnlEO0VBQ3JDO0N0RGt3TnBCOztBc0Rsd044RDtFQUMxQztDdERxd05wQjs7QXVEdndOQztFQUNFO0N2RDB3Tkg7O0F1RHh3TkM7Ozs7RUFHSTtDdkQ0d05MOztBSXB3TkU7RW1EYkM7Q3ZEcXhOSDs7QXVEbnhOQzs7OztFQUdJO0N2RHV4Tkw7O0F1RDd4TkM7RUFDRTtDdkRneU5IOztBSXR4TkM7Ozs7RW1ETEk7Q3ZEa3lOTDs7QXVEeHlOQztFQUNFO0N2RDJ5Tkg7O0F1RHp5TkM7Ozs7RUFHSTtDdkQ2eU5MOztBSXJ5TkU7RW1EYkM7Q3ZEc3pOSDs7QXVEcHpOQzs7OztFQUdJO0N2RHd6Tkw7O0F1RDl6TkM7RUFDRTtDdkRpME5IOztBSXZ6TkM7Ozs7RW1ETEk7Q3ZEbTBOTDs7QXVEejBOQztFQUNFO0N2RDQwTkg7O0F1RDMwTkU7Ozs7RUFJRztDdkQ4ME5MOztBdURwMU5DO0VBQ0U7Q3ZEdTFOSDs7QXVEcjFOQzs7OztFQUdJO0N2RHkxTkw7O0FJajFORTtFb0RORDtDeEQyMU5EOztBd0R4MU5EO0VBQ0U7Q3hEMjFORDs7QXlEdDJORDtFQUFrQjtDekQwMk5qQjs7QXlEejJORDtFQUFrQjtDekQ2Mk5qQjs7QXlENTJORDtFQUFrQjtDekRnM05qQjs7QXlELzJORDtFQUFrQjtDekRtM05qQjs7QXlEbDNORDtFQUFrQjtDekRzM05qQjs7QXlEdDNOOEU7RUFFNUQ7Q3pEdzNObEI7O0F5RHYzTkQ7RUFBbUI7Q3pEMjNObEI7O0F5RDEzTkQ7RUFBbUI7Q3pEODNObEI7O0F5RDczTkQ7RUFBbUI7Q3pEaTRObEI7O0F5RGg0TkQ7RUFBbUI7Q3pEbzRObEI7O0F5RHA0TitDO0VBSTVDO0N6RG80Tkg7O0F5RG40TkU7RUFEQztDekR3NE5IOztBeUR6NE5DO0VBQ0U7Q3pENDROSDs7QXlENzROQztFQUNFO0N6RGc1Tkg7O0F5RGo1TkM7RUFDRTtDekRvNU5IOztBeURyNU5DO0VBQ0U7Q3pEdzVOSDs7QXlEdjVORTtFQURDO0N6RDQ1Tkg7O0F5RDc1TkM7RUFDRTtDekRnNk5IOztBeUQ1NU5EO0VBQ0U7Q3pEKzVORDs7QXlEeDVORDtFQUNFO0N6RDI1TkQ7O0F5RHg1TkQ7RUFDRTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7RUFDQTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7RUFDQTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7RUFDQTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7RUFDQTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7Q3pEMjVORDs7QXlEMTVOQTtFQUdDO0N6RDI1TkQ7O0F5RHg1TkQ7RUFDRTtDekQyNU5EOztBeUR4NU5EO0VBQ0U7Q3pEMjVORDs7QXlEMTVOQTtFTHhFRztFQUNBO0VBQ0E7Q3BEcytOSDs7QTBELzlOSztFQUF3QjtDMURtK043Qjs7QTBEbitOSztFQUF3QjtDMUR1K043Qjs7QTBEditOMkQ7RUFBOUI7QzFEMitON0I7O0EwRDMrTks7RUFBd0I7QzFEKytON0I7O0EwRC8rTks7RUFBd0I7QzFEbS9ON0I7O0EwRG4vTks7RUFBd0I7QzFEdS9ON0I7O0EwRHYvTks7RUFBd0I7QzFEMi9ON0I7O0EwRDMvTjJEO0VBQTlCO0MxRCsvTjdCOztBMEQvL05LO0VBQXdCO0MxRG1nTzdCOztBYWw5Tkc7RTZDakRFO0lBQXdCO0cxRHdnTzNCOztFMER4Z095RDtJQUE5QjtHMUQ0Z08zQjs7RTBENWdPRztJQUF3QjtHMURnaE8zQjs7RTBEaGhPRztJQUF3QjtHMURvaE8zQjs7RTBEcGhPRztJQUF3QjtHMUR3aE8zQjs7RTBEeGhPRztJQUF3QjtHMUQ0aE8zQjs7RTBENWhPeUQ7SUFBOUI7RzFEZ2lPM0I7O0UwRGhpT0c7SUFBd0I7RzFEb2lPM0I7O0UwRHBpT0c7SUFBd0I7RzFEd2lPM0I7Q0FDRjs7QWF4L05HO0U2Q2pERTtJQUF3QjtHMUQ4aU8zQjs7RTBEOWlPRztJQUF3QjtHMURrak8zQjs7RTBEbGpPRztJQUF3QjtHMURzak8zQjs7RTBEdGpPeUQ7SUFBOUI7RzFEMGpPM0I7O0UwRDFqT0c7SUFBd0I7RzFEOGpPM0I7O0UwRDlqT0c7SUFBd0I7RzFEa2tPM0I7O0UwRGxrT0c7SUFBd0I7RzFEc2tPM0I7O0UwRHRrT0c7SUFBd0I7RzFEMGtPM0I7O0UwRDFrT3lEO0lBQTlCO0cxRDhrTzNCO0NBQ0Y7O0FhOWhPRztFNkNqREU7SUFBd0I7RzFEb2xPM0I7O0UwRHBsT0c7SUFBd0I7RzFEd2xPM0I7O0UwRHhsT3lEO0lBQTlCO0cxRDRsTzNCOztFMEQ1bE9HO0lBQXdCO0cxRGdtTzNCOztFMERobU9HO0lBQXdCO0cxRG9tTzNCOztFMERwbU9HO0lBQXdCO0cxRHdtTzNCOztFMER4bU9HO0lBQXdCO0cxRDRtTzNCOztFMEQ1bU95RDtJQUE5QjtHMURnbk8zQjs7RTBEaG5PRztJQUF3QjtHMURvbk8zQjtDQUNGOztBYXBrT0c7RTZDakRFO0lBQXdCO0cxRDBuTzNCOztFMEQxbk9HO0lBQXdCO0cxRDhuTzNCOztFMEQ5bk9HO0lBQXdCO0cxRGtvTzNCOztFMERsb09HO0lBQXdCO0cxRHNvTzNCOztFMER0b095RDtJQUE5QjtHMUQwb08zQjs7RTBEMW9PRztJQUF3QjtHMUQ4b08zQjs7RTBEOW9PRztJQUF3QjtHMURrcE8zQjs7RTBEbHBPRztJQUF3QjtHMURzcE8zQjs7RTBEdHBPRztJQUF3QjtHMUQwcE8zQjtDQUNGOztBMERqcE9EO0VBRUk7SUFBcUI7RzFEb3BPdEI7O0UwRHBwT0M7SUFBcUI7RzFEd3BPdEI7O0UwRHhwT29EO0lBQTlCO0cxRDRwT3RCOztFMEQ1cE9DO0lBQXFCO0cxRGdxT3RCOztFMERocU9DO0lBQXFCO0cxRG9xT3RCOztFMERwcU9DO0lBQXFCO0cxRHdxT3RCOztFMER4cU9DO0lBQXFCO0cxRDRxT3RCOztFMEQ1cU9vRDtJQUE5QjtHMURnck90Qjs7RTBEaHJPQztJQUFxQjtHMURvck90QjtDQUNGOztBMkQxc09EO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Q2c09EOztBMkR6ck9BO0VBakJHO0VBQ0E7QzNEOHNPSDs7QTJEdnRPRDs7Ozs7RUFpQkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEOHNPSDs7QTJEN3NPRTtFQVNHO0MzRHdzT0w7O0EyRHpzT0c7RUFDRTtDM0Q0c09MOztBMkQ3c09HO0VBQ0U7QzNEZ3RPTDs7QTJEanRPRztFQUNFO0MzRG90T0w7O0E0RDd1T0c7RUFBZ0M7QzVEaXZPbkM7O0E0RGh2T0c7RUFBZ0M7QzVEb3ZPbkM7O0E0RG52T0c7RUFBZ0M7QzVEdXZPbkM7O0E0RHR2T0c7RUFBZ0M7QzVEMHZPbkM7O0E0RDF2T2dGO0VBRS9DO0M1RDR2T2pDOztBNEQ1dk8rRDtFQUM5QjtDNUQrdk9qQzs7QTREOXZPRztFQUE4QjtDNURrd09qQzs7QTREandPRztFQUE4QjtDNURxd09qQzs7QTREcndPOEQ7RUFDN0I7QzVEd3dPakM7O0E0RHZ3T0c7RUFBOEI7QzVEMndPakM7O0E0RDF3T0c7RUFBOEI7QzVEOHdPakM7O0E0RDd3T0c7RUFBOEI7QzVEaXhPakM7O0E0RC93T0c7RUFBb0M7QzVEbXhPdkM7O0E0RG54T2lGO0VBQzFDO0M1RHN4T3ZDOztBNER0eE8rRTtFQUN4QztDNUR5eE92Qzs7QTREeHhPRztFQUFvQztDNUQ0eE92Qzs7QTREM3hPRztFQUFvQztDNUQreE92Qzs7QTREN3hPRztFQUFpQztDNURpeU9wQzs7QTREaHlPRztFQUFpQztDNURveU9wQzs7QTREbnlPRztFQUFpQztDNUR1eU9wQzs7QTREdHlPRztFQUFpQztDNUQweU9wQzs7QTREenlPRztFQUFpQztDNUQ2eU9wQzs7QTREM3lPRztFQUFrQztDNUQreU9yQzs7QTREL3lPNkU7RUFDeEM7QzVEa3pPckM7O0E0RGx6TzJFO0VBQ3RDO0M1RHF6T3JDOztBNERwek9HO0VBQWtDO0M1RHd6T3JDOztBNER2ek9HO0VBQWtDO0M1RDJ6T3JDOztBNEQzek8rRTtFQUMxQztDNUQ4ek9yQzs7QTRENXpPRztFQUFnQztDNURnME9uQzs7QTREL3pPRztFQUFnQztDNURtME9uQzs7QTREbDBPRztFQUFnQztDNURzME9uQzs7QTREcjBPRztFQUFnQztDNUR5ME9uQzs7QTREejBPb0U7RUFDakM7QzVENDBPbkM7O0E0RDUwT3NFO0VBQ25DO0M1RCswT25DOztBNEQvME9xRTtFQXRDbEU7SUFBZ0M7RzVEMDNPakM7O0U0RHozT0M7SUFBZ0M7RzVENjNPakM7O0U0RDUzT0M7SUFBZ0M7RzVEZzRPakM7O0U0RGg0TzJFO0lBQzFDO0c1RG00T2pDOztFNERuNE84RTtJQUUvQztHNURxNE8vQjs7RTREcDRPQztJQUE4QjtHNUR3NE8vQjs7RTREdjRPQztJQUE4QjtHNUQyNE8vQjs7RTREMTRPQztJQUE4QjtHNUQ4NE8vQjs7RTRENzRPQztJQUE4QjtHNURpNU8vQjs7RTREaDVPQztJQUE4QjtHNURvNU8vQjs7RTREbjVPQztJQUE4QjtHNUR1NU8vQjs7RTREdjVPNEQ7SUFDN0I7RzVEMDVPL0I7O0U0RDE1TzREO0lBRXZCO0c1RDQ1T3JDOztFNEQzNU9DO0lBQW9DO0c1RCs1T3JDOztFNEQ5NU9DO0lBQW9DO0c1RGs2T3JDOztFNERsNk8yRTtJQUN0QztHNURxNk9yQzs7RTREcDZPQztJQUFvQztHNUR3Nk9yQzs7RTREdDZPQztJQUFpQztHNUQwNk9sQzs7RTREejZPQztJQUFpQztHNUQ2Nk9sQzs7RTRENTZPQztJQUFpQztHNURnN09sQzs7RTREaDdPb0U7SUFDbEM7RzVEbTdPbEM7O0U0RG43T3NFO0lBQ3BDO0c1RHM3T2xDOztFNERwN09DO0lBQWtDO0c1RHc3T25DOztFNER2N09DO0lBQWtDO0c1RDI3T25DOztFNEQxN09DO0lBQWtDO0c1RDg3T25DOztFNEQ3N09DO0lBQWtDO0c1RGk4T25DOztFNERoOE9DO0lBQWtDO0c1RG84T25DOztFNERuOE9DO0lBQWtDO0c1RHU4T25DOztFNER2OE93RTtJQUV2QztHNUR5OE9qQzs7RTREejhPZ0U7SUFDL0I7RzVENDhPakM7O0U0RDM4T0M7SUFBZ0M7RzVEKzhPakM7O0U0RDk4T0M7SUFBZ0M7RzVEazlPakM7O0U0RGw5T2tFO0lBQ2pDO0c1RHE5T2pDOztFNERwOU9DO0lBQWdDO0c1RHc5T2pDO0NBQ0Y7O0FhNzhPRztFK0NsREE7SUFBZ0M7RzVEb2dQakM7O0U0RG5nUEM7SUFBZ0M7RzVEdWdQakM7O0U0RHRnUEM7SUFBZ0M7RzVEMGdQakM7O0U0RDFnUDJFO0lBQzFDO0c1RDZnUGpDOztFNEQzZ1BDO0lBQThCO0c1RCtnUC9COztFNEQ5Z1BDO0lBQThCO0c1RGtoUC9COztFNERqaFBDO0lBQThCO0c1RHFoUC9COztFNERwaFBDO0lBQThCO0c1RHdoUC9COztFNER4aFA0RDtJQUM3QjtHNUQyaFAvQjs7RTREM2hQMEQ7SUFDM0I7RzVEOGhQL0I7O0U0RDdoUEM7SUFBOEI7RzVEaWlQL0I7O0U0RGhpUEM7SUFBOEI7RzVEb2lQL0I7O0U0RGxpUEM7SUFBb0M7RzVEc2lQckM7O0U0RHJpUEM7SUFBb0M7RzVEeWlQckM7O0U0RHhpUEM7SUFBb0M7RzVENGlQckM7O0U0RDNpUEM7SUFBb0M7RzVEK2lQckM7O0U0RC9pUGtGO0lBQzdDO0c1RGtqUHJDOztFNERsalBpRjtJQUUvQztHNURvalBsQzs7RTREbmpQQztJQUFpQztHNUR1alBsQzs7RTREdGpQQztJQUFpQztHNUQwalBsQzs7RTREMWpQb0U7SUFDbEM7RzVENmpQbEM7O0U0RDVqUEM7SUFBaUM7RzVEZ2tQbEM7O0U0RDlqUEM7SUFBa0M7RzVEa2tQbkM7O0U0RGprUEM7SUFBa0M7RzVEcWtQbkM7O0U0RHBrUEM7SUFBa0M7RzVEd2tQbkM7O0U0RHhrUHVFO0lBQ3BDO0c1RDJrUG5DOztFNEQza1A4RTtJQUMzQztHNUQ4a1BuQzs7RTREN2tQQztJQUFrQztHNURpbFBuQzs7RTREL2tQQztJQUFnQztHNURtbFBqQzs7RTREbGxQQztJQUFnQztHNURzbFBqQzs7RTREcmxQQztJQUFnQztHNUR5bFBqQzs7RTREeGxQQztJQUFnQztHNUQ0bFBqQzs7RTREM2xQQztJQUFnQztHNUQrbFBqQzs7RTREL2xQb0U7SUFDbkM7RzVEa21QakM7Q0FDRjs7QWF2bFBHO0UrQ2xEQTtJQUFnQztHNUQ4b1BqQzs7RTREN29QQztJQUFnQztHNURpcFBqQzs7RTREaHBQQztJQUFnQztHNURvcFBqQzs7RTREbnBQQztJQUFnQztHNUR1cFBqQzs7RTREdnBQOEU7SUFFL0M7RzVEeXBQL0I7O0U0RHpwUDZEO0lBQzlCO0c1RDRwUC9COztFNEQzcFBDO0lBQThCO0c1RCtwUC9COztFNEQ5cFBDO0lBQThCO0c1RGtxUC9COztFNERscVA0RDtJQUM3QjtHNURxcVAvQjs7RTREcHFQQztJQUE4QjtHNUR3cVAvQjs7RTREdnFQQztJQUE4QjtHNUQycVAvQjs7RTREMXFQQztJQUE4QjtHNUQ4cVAvQjs7RTRENXFQQztJQUFvQztHNURnclByQzs7RTREaHJQK0U7SUFDMUM7RzVEbXJQckM7O0U0RG5yUDZFO0lBQ3hDO0c1RHNyUHJDOztFNERyclBDO0lBQW9DO0c1RHlyUHJDOztFNER4clBDO0lBQW9DO0c1RDRyUHJDOztFNEQxclBDO0lBQWlDO0c1RDhyUGxDOztFNEQ3clBDO0lBQWlDO0c1RGlzUGxDOztFNERoc1BDO0lBQWlDO0c1RG9zUGxDOztFNERuc1BDO0lBQWlDO0c1RHVzUGxDOztFNER2c1BzRTtJQUNwQztHNUQwc1BsQzs7RTREMXNQcUU7SUFFbEM7RzVENHNQbkM7O0U0RDNzUEM7SUFBa0M7RzVEK3NQbkM7O0U0RDlzUEM7SUFBa0M7RzVEa3RQbkM7O0U0RGx0UHVFO0lBQ3BDO0c1RHF0UG5DOztFNERwdFBDO0lBQWtDO0c1RHd0UG5DOztFNER2dFBDO0lBQWtDO0c1RDJ0UG5DOztFNER6dFBDO0lBQWdDO0c1RDZ0UGpDOztFNEQ1dFBDO0lBQWdDO0c1RGd1UGpDOztFNERodVBzRTtJQUNyQztHNURtdVBqQzs7RTREbnVQb0U7SUFDbkM7RzVEc3VQakM7O0U0RHJ1UEM7SUFBZ0M7RzVEeXVQakM7O0U0RHh1UEM7SUFBZ0M7RzVENHVQakM7Q0FDRjs7QWFqdVBHO0UrQ2xEQTtJQUFnQztHNUR3eFBqQzs7RTREeHhQbUU7SUFDbEM7RzVEMnhQakM7O0U0RDN4UHNFO0lBQ3JDO0c1RDh4UGpDOztFNEQ3eFBDO0lBQWdDO0c1RGl5UGpDOztFNEQveFBDO0lBQThCO0c1RG15UC9COztFNERseVBDO0lBQThCO0c1RHN5UC9COztFNERyeVBDO0lBQThCO0c1RHl5UC9COztFNER4eVBDO0lBQThCO0c1RDR5UC9COztFNEQzeVBDO0lBQThCO0c1RCt5UC9COztFNEQveVAwRDtJQUMzQjtHNURrelAvQjs7RTREbHpQMEQ7SUFDM0I7RzVEcXpQL0I7O0U0RHB6UEM7SUFBOEI7RzVEd3pQL0I7O0U0RHR6UEM7SUFBb0M7RzVEMHpQckM7O0U0RDF6UCtFO0lBQzFDO0c1RDZ6UHJDOztFNEQ1elBDO0lBQW9DO0c1RGcwUHJDOztFNEQvelBDO0lBQW9DO0c1RG0wUHJDOztFNERsMFBDO0lBQW9DO0c1RHMwUHJDOztFNERwMFBDO0lBQWlDO0c1RHcwUGxDOztFNER4MFB3RTtJQUN0QztHNUQyMFBsQzs7RTREMzBQc0U7SUFDcEM7RzVEODBQbEM7O0U0RDcwUEM7SUFBaUM7RzVEaTFQbEM7O0U0RGgxUEM7SUFBaUM7RzVEbzFQbEM7O0U0RGwxUEM7SUFBa0M7RzVEczFQbkM7O0U0RHIxUEM7SUFBa0M7RzVEeTFQbkM7O0U0RHgxUEM7SUFBa0M7RzVENDFQbkM7O0U0RDMxUEM7SUFBa0M7RzVEKzFQbkM7O0U0RC8xUDhFO0lBQzNDO0c1RGsyUG5DOztFNERsMlA2RTtJQUMxQztHNURxMlBuQzs7RTREbjJQQztJQUFnQztHNUR1MlBqQzs7RTREdDJQQztJQUFnQztHNUQwMlBqQzs7RTREMTJQc0U7SUFDckM7RzVENjJQakM7O0U0RDUyUEM7SUFBZ0M7RzVEZzNQakM7O0U0RC8yUEM7SUFBZ0M7RzVEbTNQakM7O0U0RGwzUEM7SUFBZ0M7RzVEczNQakM7Q0FDRjs7QTZEajZQRztFQUF3QjtDN0RxNlAzQjs7QTZEcjZQcUQ7RUFDMUI7QzdEdzZQM0I7O0E2RHg2UHNEO0VBQzNCO0M3RDI2UDNCOztBNkQzNlBxRDtFQUZsRDtJQUF3QjtHN0RrN1B6Qjs7RTZEajdQQztJQUF3QjtHN0RxN1B6Qjs7RTZEcDdQQztJQUF3QjtHN0R3N1B6QjtDQUNGOztBYXI0UEc7RWdEdERBO0lBQXdCO0c3RGc4UHpCOztFNkQvN1BDO0lBQXdCO0c3RG04UHpCOztFNkRsOFBDO0lBQXdCO0c3RHM4UHpCO0NBQ0Y7O0FhbjVQRztFZ0R0REE7SUFBd0I7RzdEODhQekI7O0U2RDc4UEM7SUFBd0I7RzdEaTlQekI7O0U2RGo5UG9EO0lBQzNCO0c3RG85UHpCO0NBQ0Y7O0FhajZQRztFZ0R0REE7SUFBd0I7RzdENDlQekI7O0U2RDU5UG1EO0lBQzFCO0c3RCs5UHpCOztFNkQ5OVBDO0lBQXdCO0c3RGsrUHpCO0NBQ0Y7O0E4RHgrUEM7RUFBeUI7QzlENCtQMUI7O0E4RDUrUEM7RUFBeUI7QzlEZy9QMUI7O0E4RGgvUDREO0VBQWxDO0M5RG8vUDFCOztBOERwL1A0RDtFQ0FyQztDL0R3L1B2Qjs7QStEeC9Qc0Q7RUFBL0I7Qy9ENC9QdkI7O0FnRTMvUEM7RUFBeUI7Q2hFKy9QMUI7O0FnRS8vUEM7RUFBeUI7Q2hFbWdRMUI7O0FnRW5nUUM7RUFBeUI7Q2hFdWdRMUI7O0FnRXZnUUM7RUFBeUI7Q2hFMmdRMUI7O0FnRTNnUTREO0VBQWxDO0NoRStnUTFCOztBZ0UxZ1FEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEU2Z1FEOztBZ0U1Z1FBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEU2Z1FEOztBZ0U1Z1FBO0VBRUQ7SUFFSTtJQUNBO0lBQ0E7R2hFNmdRRDtDQUNGOztBaUV2aVFEO0VDRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRXlpUUQ7O0FrRS9oUUM7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRWtpUUg7O0FtRS9qUUQ7RUFBYTtDbkVta1FaOztBbUVsa1FEO0VBQVU7Q25Fc2tRVDs7QW1FcmtRRDtFQUFhO0NuRXlrUVo7O0FtRXhrUUQ7RUFBZTtDbkU0a1FkOztBb0Uza1FHO0VBQXVCO0NwRStrUTFCOztBb0Uva1FHO0VBQXVCO0NwRW1sUTFCOztBb0VubFEwRDtFQUFoQztDcEV1bFExQjs7QW9FdmxRRztFQUF1QjtDcEUybFExQjs7QW9FM2xRRztFQUF1QjtDcEUrbFExQjs7QW9FL2xRRztFQUF1QjtDcEVtbVExQjs7QW9Fbm1RRztFQUF1QjtDcEV1bVExQjs7QW9Fdm1RMEQ7RUFBaEM7Q3BFMm1RMUI7O0FvRTNtUUc7RUFBdUI7Q3BFK21RMUI7O0FvRS9tUTBEO0VBQWhDO0NwRW1uUTFCOztBb0UvbVFEO0VBQVU7Q3BFbW5RVDs7QW9FbG5RRDtFQUFVO0NwRXNuUVQ7O0FvRWxuUUQ7RUFBYztDcEVzblFiOztBb0VyblFEO0VBQWM7Q3BFeW5RYjs7QW9Fdm5RRDtFQUFVO0NwRTJuUVQ7O0FvRTFuUUQ7RUFBVTtDcEU4blFUOztBb0U5blFxQztFQ1RFO0NyRTJvUXZDOztBcUUxb1FPOztFQUVFO0NyRTZvUVQ7O0FxRTNvUU87O0VBRUU7Q3JFOG9RVDs7QXFFNW9RTzs7RUFFRTtDckUrb1FUOztBcUU3b1FPOztFQUVFO0NyRWdwUVQ7O0FxRS9wUU87RUFBZ0M7Q3JFbXFRdkM7O0FxRWxxUU87O0VBRUU7Q3JFcXFRVDs7QXFFcHFRUTs7RUFHQztDckVzcVFUOztBcUVwcVFPOztFQUVFO0NyRXVxUVQ7O0FxRXJxUU87O0VBRUU7Q3JFd3FRVDs7QXFFdnFRUTtFQWhCK0I7Q3JFMnJRdkM7O0FxRTNyUXVFOztFQUc5RDtDckU2clFUOztBcUU1clFROztFQUdDO0NyRThyUVQ7O0FxRTdyUVE7O0VBR0M7Q3JFK3JRVDs7QXFFOXJRUTs7RUFHQztDckVnc1FUOztBcUUvc1FPO0VBQWdDO0NyRW10UXZDOztBcUVsdFFPOztFQUVFO0NyRXF0UVQ7O0FxRW50UU87O0VBRUU7Q3JFc3RRVDs7QXFFcHRRTzs7RUFFRTtDckV1dFFUOztBcUV0dFFROztFQUdDO0NyRXd0UVQ7O0FxRXZ1UU87RUFBZ0M7Q3JFMnVRdkM7O0FxRTF1UU87O0VBRUU7Q3JFNnVRVDs7QXFFM3VRTzs7RUFFRTtDckU4dVFUOztBcUU1dVFPOztFQUVFO0NyRSt1UVQ7O0FxRTd1UU87O0VBRUU7Q3JFZ3ZRVDs7QXFFL3ZRTztFQUFnQztDckVtd1F2Qzs7QXFFbndRdUU7O0VBRzlEO0NyRXF3UVQ7O0FxRW53UU87O0VBRUU7Q3JFc3dRVDs7QXFFcHdRTzs7RUFFRTtDckV1d1FUOztBcUVyd1FPOztFQUVFO0NyRXd3UVQ7O0FxRXZ3UVE7RUFoQitCO0NyRTJ4UXZDOztBcUUxeFFPOztFQUVFO0NyRTZ4UVQ7O0FxRTN4UU87O0VBRUU7Q3JFOHhRVDs7QXFFNXhRTzs7RUFFRTtDckUreFFUOztBcUU5eFFROztFQUdDO0NyRWd5UVQ7O0FxRS94UVE7RUFoQitCO0NyRW16UXZDOztBcUVuelF1RTs7RUFHOUQ7Q3JFcXpRVDs7QXFFcHpRUTs7RUFHQztDckVzelFUOztBcUVwelFPOztFQUVFO0NyRXV6UVQ7O0FxRXJ6UU87O0VBRUU7Q3JFd3pRVDs7QXFFdjBRTztFQUFnQztDckUyMFF2Qzs7QXFFMTBRTzs7RUFFRTtDckU2MFFUOztBcUU1MFFROztFQUdDO0NyRTgwUVQ7O0FxRTcwUVE7O0VBR0M7Q3JFKzBRVDs7QXFFOTBRUTs7RUFHQztDckVnMVFUOztBcUUvMVFPO0VBQWdDO0NyRW0yUXZDOztBcUVsMlFPOztFQUVFO0NyRXEyUVQ7O0FxRW4yUU87O0VBRUU7Q3JFczJRVDs7QXFFcDJRTzs7RUFFRTtDckV1MlFUOztBcUVyMlFPOztFQUVFO0NyRXcyUVQ7O0FxRXYzUU87RUFBZ0M7Q3JFMjNRdkM7O0FxRTEzUU87O0VBRUU7Q3JFNjNRVDs7QXFFMzNRTzs7RUFFRTtDckU4M1FUOztBcUU1M1FPOztFQUVFO0NyRSszUVQ7O0FxRTczUU87O0VBRUU7Q3JFZzRRVDs7QXFFLzRRTztFQUFnQztDckVtNVF2Qzs7QXFFbDVRTzs7RUFFRTtDckVxNVFUOztBcUVwNVFROztFQUdDO0NyRXM1UVQ7O0FxRXA1UU87O0VBRUU7Q3JFdTVRVDs7QXFFcjVRTzs7RUFFRTtDckV3NVFUOztBcUVoNVFPO0VBQXdCO0NyRW81US9COztBcUVuNVFPOztFQUVFO0NyRXM1UVQ7O0FxRXA1UU87O0VBRUU7Q3JFdTVRVDs7QXFFcjVRTzs7RUFFRTtDckV3NVFUOztBcUV0NVFPOztFQUVFO0NyRXk1UVQ7O0FxRXg2UU87RUFBd0I7Q3JFNDZRL0I7O0FxRTU2UThEOztFQUdyRDtDckU4NlFUOztBcUU3NlFROztFQUdDO0NyRSs2UVQ7O0FxRTk2UVE7O0VBR0M7Q3JFZzdRVDs7QXFFOTZRTzs7RUFFRTtDckVpN1FUOztBcUVoOFFPO0VBQXdCO0NyRW84US9COztBcUVuOFFPOztFQUVFO0NyRXM4UVQ7O0FxRXA4UU87O0VBRUU7Q3JFdThRVDs7QXFFdDhRUTs7RUFHQztDckV3OFFUOztBcUV2OFFROztFQUdDO0NyRXk4UVQ7O0FxRXg5UU87RUFBd0I7Q3JFNDlRL0I7O0FxRTM5UU87O0VBRUU7Q3JFODlRVDs7QXFFNTlRTzs7RUFFRTtDckUrOVFUOztBcUU3OVFPOztFQUVFO0NyRWcrUVQ7O0FxRTk5UU87O0VBRUU7Q3JFaStRVDs7QXFFaC9RTztFQUF3QjtDckVvL1EvQjs7QXFFbi9RTzs7RUFFRTtDckVzL1FUOztBcUVwL1FPOztFQUVFO0NyRXUvUVQ7O0FxRXIvUU87O0VBRUU7Q3JFdy9RVDs7QXFFdC9RTzs7RUFFRTtDckV5L1FUOztBcUVuL1FHO0VBQW1CO0NyRXUvUXRCOztBcUV0L1FHOztFQUVFO0NyRXkvUUw7O0FxRXgvUUk7O0VBR0M7Q3JFMC9RTDs7QXFFei9RSTs7RUFHQztDckUyL1FMOztBcUV6L1FHOztFQUVFO0NyRTQvUUw7O0FxRTMvUUk7RUE1REc7SUFBZ0M7R3JFNGpSckM7O0VxRTNqUks7O0lBRUU7R3JFOGpSUDs7RXFFNWpSSzs7SUFFRTtHckUralJQOztFcUU3alJLOztJQUVFO0dyRWdrUlA7O0VxRTlqUks7O0lBRUU7R3JFaWtSUDs7RXFFaGxSSztJQUFnQztHckVvbFJyQzs7RXFFcGxScUU7O0lBRzlEO0dyRXNsUlA7O0VxRXJsUk07O0lBR0M7R3JFdWxSUDs7RXFFdGxSTTs7SUFHQztHckV3bFJQOztFcUV0bFJLOztJQUVFO0dyRXlsUlA7O0VxRXhtUks7SUFBZ0M7R3JFNG1SckM7O0VxRTNtUks7O0lBRUU7R3JFOG1SUDs7RXFFNW1SSzs7SUFFRTtHckUrbVJQOztFcUU5bVJNOztJQUdDO0dyRWduUlA7O0VxRS9tUk07O0lBR0M7R3JFaW5SUDs7RXFFaG9SSztJQUFnQztHckVvb1JyQzs7RXFFbm9SSzs7SUFFRTtHckVzb1JQOztFcUVwb1JLOztJQUVFO0dyRXVvUlA7O0VxRXJvUks7O0lBRUU7R3JFd29SUDs7RXFFdG9SSzs7SUFFRTtHckV5b1JQOztFcUV4cFJLO0lBQWdDO0dyRTRwUnJDOztFcUUzcFJLOztJQUVFO0dyRThwUlA7O0VxRTVwUks7O0lBRUU7R3JFK3BSUDs7RXFFN3BSSzs7SUFFRTtHckVncVJQOztFcUU5cFJLOztJQUVFO0dyRWlxUlA7O0VxRWhyUks7SUFBZ0M7R3JFb3JSckM7O0VxRW5yUks7O0lBRUU7R3JFc3JSUDs7RXFFcHJSSzs7SUFFRTtHckV1clJQOztFcUV0clJNOztJQUdDO0dyRXdyUlA7O0VxRXRyUks7O0lBRUU7R3JFeXJSUDs7RXFFeHJSTTtJQWhCK0I7R3JFNHNSckM7O0VxRTVzUnFFOztJQUc5RDtHckU4c1JQOztFcUU1c1JLOztJQUVFO0dyRStzUlA7O0VxRTdzUks7O0lBRUU7R3JFZ3RSUDs7RXFFOXNSSzs7SUFFRTtHckVpdFJQOztFcUVodVJLO0lBQWdDO0dyRW91UnJDOztFcUVwdVJxRTs7SUFHOUQ7R3JFc3VSUDs7RXFFcnVSTTs7SUFHQztHckV1dVJQOztFcUV0dVJNOztJQUdDO0dyRXd1UlA7O0VxRXZ1Uk07O0lBR0M7R3JFeXVSUDs7RXFFeHZSSztJQUFnQztHckU0dlJyQzs7RXFFM3ZSSzs7SUFFRTtHckU4dlJQOztFcUU1dlJLOztJQUVFO0dyRSt2UlA7O0VxRTd2Uks7O0lBRUU7R3JFZ3dSUDs7RXFFL3ZSTTs7SUFHQztHckVpd1JQOztFcUVoeFJLO0lBQWdDO0dyRW94UnJDOztFcUVueFJLOztJQUVFO0dyRXN4UlA7O0VxRXB4Uks7O0lBRUU7R3JFdXhSUDs7RXFFcnhSSzs7SUFFRTtHckV3eFJQOztFcUV0eFJLOztJQUVFO0dyRXl4UlA7O0VxRXh5Uks7SUFBZ0M7R3JFNHlSckM7O0VxRTV5UnFFOztJQUc5RDtHckU4eVJQOztFcUU1eVJLOztJQUVFO0dyRSt5UlA7O0VxRTd5Uks7O0lBRUU7R3JFZ3pSUDs7RXFFOXlSSzs7SUFFRTtHckVpelJQOztFcUVoelJNO0lBaEIrQjtHckVvMFJyQzs7RXFFbjBSSzs7SUFFRTtHckVzMFJQOztFcUVwMFJLOztJQUVFO0dyRXUwUlA7O0VxRXIwUks7O0lBRUU7R3JFdzBSUDs7RXFFdjBSTTs7SUFHQztHckV5MFJQOztFcUVqMFJLO0lBQXdCO0dyRXEwUjdCOztFcUVyMFI0RDs7SUFHckQ7R3JFdTBSUDs7RXFFdDBSTTs7SUFHQztHckV3MFJQOztFcUV0MFJLOztJQUVFO0dyRXkwUlA7O0VxRXYwUks7O0lBRUU7R3JFMDBSUDs7RXFFejFSSztJQUF3QjtHckU2MVI3Qjs7RXFFNTFSSzs7SUFFRTtHckUrMVJQOztFcUU5MVJNOztJQUdDO0dyRWcyUlA7O0VxRS8xUk07O0lBR0M7R3JFaTJSUDs7RXFFaDJSTTs7SUFHQztHckVrMlJQOztFcUVqM1JLO0lBQXdCO0dyRXEzUjdCOztFcUVwM1JLOztJQUVFO0dyRXUzUlA7O0VxRXIzUks7O0lBRUU7R3JFdzNSUDs7RXFFdDNSSzs7SUFFRTtHckV5M1JQOztFcUV2M1JLOztJQUVFO0dyRTAzUlA7O0VxRXo0Uks7SUFBd0I7R3JFNjRSN0I7O0VxRTU0Uks7O0lBRUU7R3JFKzRSUDs7RXFFNzRSSzs7SUFFRTtHckVnNVJQOztFcUU5NFJLOztJQUVFO0dyRWk1UlA7O0VxRS80Uks7O0lBRUU7R3JFazVSUDs7RXFFajZSSztJQUF3QjtHckVxNlI3Qjs7RXFFcDZSSzs7SUFFRTtHckV1NlJQOztFcUV0NlJNOztJQUdDO0dyRXc2UlA7O0VxRXQ2Uks7O0lBRUU7R3JFeTZSUDs7RXFFdjZSSzs7SUFFRTtHckUwNlJQOztFcUVwNlJDO0lBQW1CO0dyRXc2UnBCOztFcUV2NlJDOztJQUVFO0dyRTA2Ukg7O0VxRXg2UkM7O0lBRUU7R3JFMjZSSDs7RXFFejZSQzs7SUFFRTtHckU0NlJIOztFcUUxNlJDOztJQUVFO0dyRTY2Ukg7Q0FDRjs7QWF2N1JHO0V3RGxESTtJQUFnQztHckU4K1JyQzs7RXFFOStScUU7O0lBRzlEO0dyRWcvUlA7O0VxRS8rUk07O0lBR0M7R3JFaS9SUDs7RXFFLytSSzs7SUFFRTtHckVrL1JQOztFcUVqL1JNOztJQUdDO0dyRW0vUlA7O0VxRWxnU0s7SUFBZ0M7R3JFc2dTckM7O0VxRXJnU0s7O0lBRUU7R3JFd2dTUDs7RXFFdGdTSzs7SUFFRTtHckV5Z1NQOztFcUV2Z1NLOztJQUVFO0dyRTBnU1A7O0VxRXhnU0s7O0lBRUU7R3JFMmdTUDs7RXFFMWhTSztJQUFnQztHckU4aFNyQzs7RXFFN2hTSzs7SUFFRTtHckVnaVNQOztFcUU5aFNLOztJQUVFO0dyRWlpU1A7O0VxRS9oU0s7O0lBRUU7R3JFa2lTUDs7RXFFaGlTSzs7SUFFRTtHckVtaVNQOztFcUVsalNLO0lBQWdDO0dyRXNqU3JDOztFcUVyalNLOztJQUVFO0dyRXdqU1A7O0VxRXRqU0s7O0lBRUU7R3JFeWpTUDs7RXFFeGpTTTs7SUFHQztHckUwalNQOztFcUV4alNLOztJQUVFO0dyRTJqU1A7O0VxRTFqU007SUFoQitCO0dyRThrU3JDOztFcUU5a1NxRTs7SUFHOUQ7R3JFZ2xTUDs7RXFFOWtTSzs7SUFFRTtHckVpbFNQOztFcUUva1NLOztJQUVFO0dyRWtsU1A7O0VxRWhsU0s7O0lBRUU7R3JFbWxTUDs7RXFFbG1TSztJQUFnQztHckVzbVNyQzs7RXFFdG1TcUU7O0lBRzlEO0dyRXdtU1A7O0VxRXZtU007O0lBR0M7R3JFeW1TUDs7RXFFeG1TTTs7SUFHQztHckUwbVNQOztFcUV6bVNNOztJQUdDO0dyRTJtU1A7O0VxRTFuU0s7SUFBZ0M7R3JFOG5TckM7O0VxRTduU0s7O0lBRUU7R3JFZ29TUDs7RXFFOW5TSzs7SUFFRTtHckVpb1NQOztFcUUvblNLOztJQUVFO0dyRWtvU1A7O0VxRWpvU007O0lBR0M7R3JFbW9TUDs7RXFFbHBTSztJQUFnQztHckVzcFNyQzs7RXFFcnBTSzs7SUFFRTtHckV3cFNQOztFcUV0cFNLOztJQUVFO0dyRXlwU1A7O0VxRXZwU0s7O0lBRUU7R3JFMHBTUDs7RXFFeHBTSzs7SUFFRTtHckUycFNQOztFcUUxcVNLO0lBQWdDO0dyRThxU3JDOztFcUU5cVNxRTs7SUFHOUQ7R3JFZ3JTUDs7RXFFOXFTSzs7SUFFRTtHckVpclNQOztFcUUvcVNLOztJQUVFO0dyRWtyU1A7O0VxRWhyU0s7O0lBRUU7R3JFbXJTUDs7RXFFbHJTTTtJQWhCK0I7R3JFc3NTckM7O0VxRXJzU0s7O0lBRUU7R3JFd3NTUDs7RXFFdHNTSzs7SUFFRTtHckV5c1NQOztFcUV2c1NLOztJQUVFO0dyRTBzU1A7O0VxRXpzU007O0lBR0M7R3JFMnNTUDs7RXFFMXNTTTtJQWhCK0I7R3JFOHRTckM7O0VxRTl0U3FFOztJQUc5RDtHckVndVNQOztFcUUvdFNNOztJQUdDO0dyRWl1U1A7O0VxRS90U0s7O0lBRUU7R3JFa3VTUDs7RXFFaHVTSzs7SUFFRTtHckVtdVNQOztFcUVsdlNLO0lBQWdDO0dyRXN2U3JDOztFcUVydlNLOztJQUVFO0dyRXd2U1A7O0VxRXZ2U007O0lBR0M7R3JFeXZTUDs7RXFFeHZTTTs7SUFHQztHckUwdlNQOztFcUV6dlNNOztJQUdDO0dyRTJ2U1A7O0VxRTF2U007SUFPdUI7R3JFdXZTN0I7O0VxRXR2U0s7O0lBRUU7R3JFeXZTUDs7RXFFdnZTSzs7SUFFRTtHckUwdlNQOztFcUV4dlNLOztJQUVFO0dyRTJ2U1A7O0VxRXp2U0s7O0lBRUU7R3JFNHZTUDs7RXFFM3dTSztJQUF3QjtHckUrd1M3Qjs7RXFFOXdTSzs7SUFFRTtHckVpeFNQOztFcUUvd1NLOztJQUVFO0dyRWt4U1A7O0VxRWh4U0s7O0lBRUU7R3JFbXhTUDs7RXFFanhTSzs7SUFFRTtHckVveFNQOztFcUVueVNLO0lBQXdCO0dyRXV5UzdCOztFcUV0eVNLOztJQUVFO0dyRXl5U1A7O0VxRXh5U007O0lBR0M7R3JFMHlTUDs7RXFFeHlTSzs7SUFFRTtHckUyeVNQOztFcUV6eVNLOztJQUVFO0dyRTR5U1A7O0VxRTN5U007SUFoQnVCO0dyRSt6UzdCOztFcUU5elNLOztJQUVFO0dyRWkwU1A7O0VxRS96U0s7O0lBRUU7R3JFazBTUDs7RXFFaDBTSzs7SUFFRTtHckVtMFNQOztFcUVqMFNLOztJQUVFO0dyRW8wU1A7O0VxRW4xU0s7SUFBd0I7R3JFdTFTN0I7O0VxRXYxUzREOztJQUdyRDtHckV5MVNQOztFcUV4MVNNOztJQUdDO0dyRTAxU1A7O0VxRXoxU007O0lBR0M7R3JFMjFTUDs7RXFFejFTSzs7SUFFRTtHckU0MVNQOztFcUV0MVNDO0lBQW1CO0dyRTAxU3BCOztFcUV6MVNDOztJQUVFO0dyRTQxU0g7O0VxRTMxU0U7O0lBR0M7R3JFNjFTSDs7RXFFMzFTQzs7SUFFRTtHckU4MVNIOztFcUU3MVNFOztJQUdDO0dyRSsxU0g7Q0FDRjs7QWF6MlNHO0V3RGxESTtJQUFnQztHckVnNlNyQzs7RXFFLzVTSzs7SUFFRTtHckVrNlNQOztFcUVoNlNLOztJQUVFO0dyRW02U1A7O0VxRWo2U0s7O0lBRUU7R3JFbzZTUDs7RXFFbDZTSzs7SUFFRTtHckVxNlNQOztFcUVwN1NLO0lBQWdDO0dyRXc3U3JDOztFcUV2N1NLOztJQUVFO0dyRTA3U1A7O0VxRXg3U0s7O0lBRUU7R3JFMjdTUDs7RXFFejdTSzs7SUFFRTtHckU0N1NQOztFcUUxN1NLOztJQUVFO0dyRTY3U1A7O0VxRTU4U0s7SUFBZ0M7R3JFZzlTckM7O0VxRS84U0s7O0lBRUU7R3JFazlTUDs7RXFFajlTTTs7SUFHQztHckVtOVNQOztFcUVqOVNLOztJQUVFO0dyRW85U1A7O0VxRWw5U0s7O0lBRUU7R3JFcTlTUDs7RXFFcDlTTTtJQWhCK0I7R3JFdytTckM7O0VxRXYrU0s7O0lBRUU7R3JFMCtTUDs7RXFFeCtTSzs7SUFFRTtHckUyK1NQOztFcUV6K1NLOztJQUVFO0dyRTQrU1A7O0VxRTErU0s7O0lBRUU7R3JFNitTUDs7RXFFNS9TSztJQUFnQztHckVnZ1RyQzs7RXFFaGdUcUU7O0lBRzlEO0dyRWtnVFA7O0VxRWpnVE07O0lBR0M7R3JFbWdUUDs7RXFFbGdUTTs7SUFHQztHckVvZ1RQOztFcUVsZ1RLOztJQUVFO0dyRXFnVFA7O0VxRXBoVEs7SUFBZ0M7R3JFd2hUckM7O0VxRXZoVEs7O0lBRUU7R3JFMGhUUDs7RXFFeGhUSzs7SUFFRTtHckUyaFRQOztFcUUxaFRNOztJQUdDO0dyRTRoVFA7O0VxRTNoVE07O0lBR0M7R3JFNmhUUDs7RXFFNWlUSztJQUFnQztHckVnalRyQzs7RXFFL2lUSzs7SUFFRTtHckVralRQOztFcUVoalRLOztJQUVFO0dyRW1qVFA7O0VxRWpqVEs7O0lBRUU7R3JFb2pUUDs7RXFFbGpUSzs7SUFFRTtHckVxalRQOztFcUVwa1RLO0lBQWdDO0dyRXdrVHJDOztFcUV2a1RLOztJQUVFO0dyRTBrVFA7O0VxRXhrVEs7O0lBRUU7R3JFMmtUUDs7RXFFemtUSzs7SUFFRTtHckU0a1RQOztFcUUxa1RLOztJQUVFO0dyRTZrVFA7O0VxRTVsVEs7SUFBZ0M7R3JFZ21UckM7O0VxRS9sVEs7O0lBRUU7R3JFa21UUDs7RXFFaG1USzs7SUFFRTtHckVtbVRQOztFcUVsbVRNOztJQUdDO0dyRW9tVFA7O0VxRWxtVEs7O0lBRUU7R3JFcW1UUDs7RXFFcG1UTTtJQWhCK0I7R3JFd25UckM7O0VxRXhuVHFFOztJQUc5RDtHckUwblRQOztFcUV4blRLOztJQUVFO0dyRTJuVFA7O0VxRXpuVEs7O0lBRUU7R3JFNG5UUDs7RXFFMW5USzs7SUFFRTtHckU2blRQOztFcUU1b1RLO0lBQWdDO0dyRWdwVHJDOztFcUVocFRxRTs7SUFHOUQ7R3JFa3BUUDs7RXFFanBUTTs7SUFHQztHckVtcFRQOztFcUVscFRNOztJQUdDO0dyRW9wVFA7O0VxRW5wVE07O0lBR0M7R3JFcXBUUDs7RXFFcHFUSztJQUFnQztHckV3cVRyQzs7RXFFdnFUSzs7SUFFRTtHckUwcVRQOztFcUV4cVRLOztJQUVFO0dyRTJxVFA7O0VxRXpxVEs7O0lBRUU7R3JFNHFUUDs7RXFFM3FUTTs7SUFHQztHckU2cVRQOztFcUU1cVRNO0lBT3VCO0dyRXlxVDdCOztFcUV4cVRLOztJQUVFO0dyRTJxVFA7O0VxRXpxVEs7O0lBRUU7R3JFNHFUUDs7RXFFMXFUSzs7SUFFRTtHckU2cVRQOztFcUUzcVRLOztJQUVFO0dyRThxVFA7O0VxRTdyVEs7SUFBd0I7R3JFaXNUN0I7O0VxRWpzVDREOztJQUdyRDtHckVtc1RQOztFcUVqc1RLOztJQUVFO0dyRW9zVFA7O0VxRWxzVEs7O0lBRUU7R3JFcXNUUDs7RXFFbnNUSzs7SUFFRTtHckVzc1RQOztFcUVyc1RNO0lBaEJ1QjtHckV5dFQ3Qjs7RXFFeHRUSzs7SUFFRTtHckUydFRQOztFcUV6dFRLOztJQUVFO0dyRTR0VFA7O0VxRTF0VEs7O0lBRUU7R3JFNnRUUDs7RXFFNXRUTTs7SUFHQztHckU4dFRQOztFcUU3dFRNO0lBaEJ1QjtHckVpdlQ3Qjs7RXFFanZUNEQ7O0lBR3JEO0dyRW12VFA7O0VxRWx2VE07O0lBR0M7R3JFb3ZUUDs7RXFFbHZUSzs7SUFFRTtHckVxdlRQOztFcUVudlRLOztJQUVFO0dyRXN2VFA7O0VxRXJ3VEs7SUFBd0I7R3JFeXdUN0I7O0VxRXh3VEs7O0lBRUU7R3JFMndUUDs7RXFFMXdUTTs7SUFHQztHckU0d1RQOztFcUUzd1RNOztJQUdDO0dyRTZ3VFA7O0VxRTV3VE07O0lBR0M7R3JFOHdUUDs7RXFFN3dUTTtJQUtjO0dyRTR3VHBCOztFcUUzd1RDOztJQUVFO0dyRTh3VEg7O0VxRTV3VEM7O0lBRUU7R3JFK3dUSDs7RXFFN3dUQzs7SUFFRTtHckVneFRIOztFcUU5d1RDOztJQUVFO0dyRWl4VEg7Q0FDRjs7QWEzeFRHO0V3RGxESTtJQUFnQztHckVrMVRyQzs7RXFFajFUSzs7SUFFRTtHckVvMVRQOztFcUVuMVRNOztJQUdDO0dyRXExVFA7O0VxRW4xVEs7O0lBRUU7R3JFczFUUDs7RXFFcDFUSzs7SUFFRTtHckV1MVRQOztFcUV0MVRNO0lBaEIrQjtHckUwMlRyQzs7RXFFejJUSzs7SUFFRTtHckU0MlRQOztFcUUxMlRLOztJQUVFO0dyRTYyVFA7O0VxRTMyVEs7O0lBRUU7R3JFODJUUDs7RXFFNTJUSzs7SUFFRTtHckUrMlRQOztFcUU5M1RLO0lBQWdDO0dyRWs0VHJDOztFcUVsNFRxRTs7SUFHOUQ7R3JFbzRUUDs7RXFFbjRUTTs7SUFHQztHckVxNFRQOztFcUVwNFRNOztJQUdDO0dyRXM0VFA7O0VxRXA0VEs7O0lBRUU7R3JFdTRUUDs7RXFFdDVUSztJQUFnQztHckUwNVRyQzs7RXFFejVUSzs7SUFFRTtHckU0NVRQOztFcUUxNVRLOztJQUVFO0dyRTY1VFA7O0VxRTU1VE07O0lBR0M7R3JFODVUUDs7RXFFNzVUTTs7SUFHQztHckUrNVRQOztFcUU5NlRLO0lBQWdDO0dyRWs3VHJDOztFcUVqN1RLOztJQUVFO0dyRW83VFA7O0VxRWw3VEs7O0lBRUU7R3JFcTdUUDs7RXFFbjdUSzs7SUFFRTtHckVzN1RQOztFcUVwN1RLOztJQUVFO0dyRXU3VFA7O0VxRXQ4VEs7SUFBZ0M7R3JFMDhUckM7O0VxRXo4VEs7O0lBRUU7R3JFNDhUUDs7RXFFMThUSzs7SUFFRTtHckU2OFRQOztFcUUzOFRLOztJQUVFO0dyRTg4VFA7O0VxRTU4VEs7O0lBRUU7R3JFKzhUUDs7RXFFOTlUSztJQUFnQztHckVrK1RyQzs7RXFFaitUSzs7SUFFRTtHckVvK1RQOztFcUVsK1RLOztJQUVFO0dyRXErVFA7O0VxRXArVE07O0lBR0M7R3JFcytUUDs7RXFFcCtUSzs7SUFFRTtHckV1K1RQOztFcUV0K1RNO0lBaEIrQjtHckUwL1RyQzs7RXFFMS9UcUU7O0lBRzlEO0dyRTQvVFA7O0VxRTEvVEs7O0lBRUU7R3JFNi9UUDs7RXFFMy9USzs7SUFFRTtHckU4L1RQOztFcUU1L1RLOztJQUVFO0dyRSsvVFA7O0VxRTlnVUs7SUFBZ0M7R3JFa2hVckM7O0VxRWxoVXFFOztJQUc5RDtHckVvaFVQOztFcUVuaFVNOztJQUdDO0dyRXFoVVA7O0VxRXBoVU07O0lBR0M7R3JFc2hVUDs7RXFFcmhVTTs7SUFHQztHckV1aFVQOztFcUV0aVVLO0lBQWdDO0dyRTBpVXJDOztFcUV6aVVLOztJQUVFO0dyRTRpVVA7O0VxRTFpVUs7O0lBRUU7R3JFNmlVUDs7RXFFM2lVSzs7SUFFRTtHckU4aVVQOztFcUU3aVVNOztJQUdDO0dyRStpVVA7O0VxRTlqVUs7SUFBZ0M7R3JFa2tVckM7O0VxRWprVUs7O0lBRUU7R3JFb2tVUDs7RXFFbGtVSzs7SUFFRTtHckVxa1VQOztFcUVua1VLOztJQUVFO0dyRXNrVVA7O0VxRXBrVUs7O0lBRUU7R3JFdWtVUDs7RXFFdGxVSztJQUFnQztHckUwbFVyQzs7RXFFMWxVcUU7O0lBRzlEO0dyRTRsVVA7O0VxRTFsVUs7O0lBRUU7R3JFNmxVUDs7RXFFM2xVSzs7SUFFRTtHckU4bFVQOztFcUU1bFVLOztJQUVFO0dyRStsVVA7O0VxRXZsVUs7SUFBd0I7R3JFMmxVN0I7O0VxRTFsVUs7O0lBRUU7R3JFNmxVUDs7RXFFM2xVSzs7SUFFRTtHckU4bFVQOztFcUU1bFVLOztJQUVFO0dyRStsVVA7O0VxRTlsVU07O0lBR0M7R3JFZ21VUDs7RXFFL2xVTTtJQWhCdUI7R3JFbW5VN0I7O0VxRW5uVTREOztJQUdyRDtHckVxblVQOztFcUVwblVNOztJQUdDO0dyRXNuVVA7O0VxRXBuVUs7O0lBRUU7R3JFdW5VUDs7RXFFcm5VSzs7SUFFRTtHckV3blVQOztFcUV2b1VLO0lBQXdCO0dyRTJvVTdCOztFcUUxb1VLOztJQUVFO0dyRTZvVVA7O0VxRTVvVU07O0lBR0M7R3JFOG9VUDs7RXFFN29VTTs7SUFHQztHckUrb1VQOztFcUU5b1VNOztJQUdDO0dyRWdwVVA7O0VxRS9wVUs7SUFBd0I7R3JFbXFVN0I7O0VxRWxxVUs7O0lBRUU7R3JFcXFVUDs7RXFFbnFVSzs7SUFFRTtHckVzcVVQOztFcUVwcVVLOztJQUVFO0dyRXVxVVA7O0VxRXJxVUs7O0lBRUU7R3JFd3FVUDs7RXFFdnJVSztJQUF3QjtHckUyclU3Qjs7RXFFMXJVSzs7SUFFRTtHckU2clVQOztFcUUzclVLOztJQUVFO0dyRThyVVA7O0VxRTVyVUs7O0lBRUU7R3JFK3JVUDs7RXFFN3JVSzs7SUFFRTtHckVnc1VQOztFcUUxclVDO0lBQW1CO0dyRThyVXBCOztFcUU3clVDOztJQUVFO0dyRWdzVUg7O0VxRTlyVUM7O0lBRUU7R3JFaXNVSDs7RXFFaHNVRTs7SUFHQztHckVrc1VIOztFcUVoc1VDOztJQUVFO0dyRW1zVUg7Q0FDRjs7QXNFcndVRDtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtDdEVxd1VIOztBdUUvd1VEO0VBQWtCO0N2RW14VWpCOztBdUUvd1VEO0VBQWlCO0N2RW14VWhCOztBdUVseFVEO0VBQWlCO0N2RXN4VWhCOztBdUV0eFVrRDtFQUNsQztDdkV5eFVoQjs7QXVFenhVa0Q7RUNSakQ7RUFDQTtFQUNBO0N4RXF5VUQ7O0F1RTl4VTRDO0VBUWpCO0N2RTB4VTNCOztBdUV6eFVHO0VBQXdCO0N2RTZ4VTNCOztBdUU1eFVHO0VBQXdCO0N2RWd5VTNCOztBYTN2VUc7RTBEdkNBO0lBQXdCO0d2RXV5VXpCOztFdUV2eVV3RDtJQUMvQjtHdkUweVV6Qjs7RXVFMXlVeUQ7SUFDaEM7R3ZFNnlVekI7Q0FDRjs7QWF6d1VHO0UwRHZDQTtJQUF3QjtHdkVxelV6Qjs7RXVFcHpVQztJQUF3QjtHdkV3elV6Qjs7RXVFdnpVQztJQUF3QjtHdkUyelV6QjtDQUNGOztBYXZ4VUc7RTBEdkNBO0lBQXdCO0d2RW0wVXpCOztFdUVsMFVDO0lBQXdCO0d2RXMwVXpCOztFdUVyMFVDO0lBQXdCO0d2RXkwVXpCO0NBQ0Y7O0FhcnlVRztFMER2Q0E7SUFBd0I7R3ZFaTFVekI7O0V1RWgxVUM7SUFBd0I7R3ZFbzFVekI7O0V1RXAxVXlEO0lBQ2hDO0d2RXUxVXpCO0NBQ0Y7O0F1RWwxVUQ7RUFBbUI7Q3ZFczFVbEI7O0F1RXIxVUQ7RUFBbUI7Q3ZFeTFVbEI7O0F1RXgxVUQ7RUFBbUI7Q3ZFNDFVbEI7O0F1RXgxVUQ7RUFBdUI7Q3ZFNDFVdEI7O0F1RTMxVUQ7RUFBdUI7Q3ZFKzFVdEI7O0F1RS8xVXNFO0VBQ2hEO0N2RWsyVXRCOztBdUVqMlVEO0VBQXVCO0N2RXEyVXRCOztBdUVwMlVEO0VBQXVCO0N2RXcyVXRCOztBdUV2MlVEO0VBQXVCO0N2RTIyVXRCOztBdUUzMlV1RDtFQUkxQztDdkUyMlViOztBdUUzMlV5QztFRXRDdEM7Q3pFcTVVSDs7QUkzNFVDOztFcUVMTTtDekVxNVVQOztBSTc0VUU7RXFFYkM7Q3pFODVVSDs7QXlFMzVVRzs7RUFFSTtDekU4NVVQOztBeUVwNlVDO0VBQ0U7Q3pFdTZVSDs7QXlFdDZVRTs7RUFJSztDekV1NlVQOztBSS81VUU7RXFFYkM7Q3pFZzdVSDs7QXlFLzZVRTs7RUFJSztDekVnN1VQOztBeUV0N1VDO0VBQ0U7Q3pFeTdVSDs7QXlFeDdVRTs7RUFJSztDekV5N1VQOztBeUUvN1VDO0VBQ0U7Q3pFazhVSDs7QXlFajhVRTs7RUFJSztDekVrOFVQOztBeUV4OFVDO0VBQ0U7Q3pFMjhVSDs7QXlFMThVRTs7RUFJSztDekUyOFVQOztBeUVqOVVDO0VBQ0U7Q3pFbzlVSDs7QXlFbjlVRTs7RUFJSztDekVvOVVQOztBdUU3NlVEO0VBQWE7Q3ZFaTdVWjs7QXVFaDdVRDtFQUFjO0N2RW83VWI7O0F1RXA3VThDO0VBRTlCO0N2RXM3VWhCOztBdUVyN1VEO0VBQWlCO0N2RXk3VWhCOztBdUV6N1VzRDtFR25EckQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUVnL1VEOztBdUUzN1VBO0VBRXVCO0N2RTY3VXZCOztBdUU3N1UyRDtFQUcxRDtFQUNBO0N2RTg3VUQ7O0F1RXo3VUQ7RUFBYztDdkU2N1ViOztBMkU5L1VEO0VBQ0U7QzNFaWdWRDs7QTJFaGdWQTtFQUdDO0MzRWlnVkQ7O0E0RWpnVkM7RTFFT0Y7OztJMEVETTtJQUVBO0c1RWlnVkg7O0U0RWhnVkU7SUFJRztHNUVnZ1ZMOztFNEV2L1VDO0lBQ0U7RzVFMC9VSDs7RTRFei9VRTtJQWNDO0c1RSsrVUg7O0U0RTkrVUU7O0lBR0M7SUFDQTtHNUVnL1VIOztFNEV4K1VDO0lBQ0U7RzVFMitVSDs7RTRFeCtVQzs7SUFFRTtHNUUyK1VIOztFNEV4K1VDOzs7SUFHRTtJQUNBO0c1RTIrVUg7O0U0RXgrVUM7O0lBRUU7RzVFMitVSDs7QTRFbitVQztJQUNFO0M1RXMrVUw7O0VFbGhWRDtJMEUrQ007RzVFdStVSDs7RTRFcitVQztJQUNFO0c1RXcrVUg7O0UrQnRqVkg7STZDbUZNO0c1RXUrVUg7O0U0RXQrVUU7SUFFQztHNUV3K1VIOztFZTNrVkg7STZEdUdNO0c1RXcrVUg7O0U0RXQrVUc7O0lBRUU7RzVFeStVTDs7RWU1aVZIOztJNkQwRVE7RzVFdStVTDs7RWU1OVVIO0k2RE5NO0c1RXMrVUg7O0VnQjVsVkQ7Ozs7STRENEhNO0c1RXUrVUw7O0U0RXQrVUk7SUFJRDtJQUNBO0c1RXMrVUg7Q0FDRjs7QTZFOW1WRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNIO0VBQ0UsbUNBQW1DO0VBQ25DLG1DQUE0RDtFQUM1RCwyUEFBMlo7RUFDM1osaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUNBQW1DO0VBQ25DLG1DQUEwRDtFQUMxRCw2UEFBcVo7RUFDclosaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUNBQW1DO0VBQ25DLG9DQUErRDtFQUMvRCxnUUFBMmE7RUFDM2EsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUNBQW1DO0VBQ25DLG9DQUE4RDtFQUM5RCxnUUFBc2E7RUFDdGEsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUNBQW1DO0VBQ25DLG9DQUFrRTtFQUNsRSxnUUFBNmI7RUFDN2IsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUNBQW1DO0VBQ25DLG9DQUEwRDtFQUMxRCxnUUFBcVo7RUFDclosaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQ2hFRDtJQUNJLGdDQUFnQztJQUNoQyxrREFBaUQ7SUFDakQsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUN0Qjs7QUNMRDtJQUNJLGdDQUFnQztJQUNoQyxrREFBd0Q7SUFDeEQsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUN0Qjs7QUNMRDtJQUNJLGdDQUFnQztJQUNoQztzREFDOEQ7SUFDOUQsaUJBQWlCO0lBQ2pCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLGdDQUFnQztJQUNoQztzREFDb0U7SUFDcEUsaUJBQWlCO0lBQ2pCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLGdDQUFnQztJQUNoQztzREFDNkQ7SUFDN0Qsa0JBQWtCO0lBQ2xCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLGdDQUFnQztJQUNoQztzREFDbUU7SUFDbkUsa0JBQWtCO0lBQ2xCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLGdDQUFnQztJQUNoQztzREFDK0Q7SUFDL0Qsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUN0Qjs7QUFFRDtJQUNJLGdDQUFnQztJQUNoQzt1REFDZ0U7SUFDaEUsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUN0QjtBQzlDRCwyRUFBMkU7QUFDM0U7O0VBRUU7QUFDRix1QkFBdUI7QUFDdkI7RUFDRSxjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixhQUFhO0VBQ2IsUUFBUTtFQUNSLE9BQU87RUFDUCxpQkFBaUI7RUFDakIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsK0JBQStCO0VBQy9CLDhFQUE4RTtFQUM5RSxvQ0FBb0M7RUFDcEMsY0FBYyxFQUFFO0VBQ2hCO0lBQ0UsK0JBQStCO1lBQ3ZCLHVCQUF1QixFQUFFO0VBQ25DO0lBQ0UsZ0JBQWdCLEVBQUU7O0FBRXRCLGtFQUFrRTtBQUNsRTtFQUNFLG9HQUFvRztFQUNwRyxlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLCtCQUErQjtFQUMvQixnRUFBZ0U7VUFDeEQsd0RBQXdELEVBQUU7O0FBRXBFO0VBQ0UsZUFBZSxFQUFFOztBQUVuQjtFQUNFLHVCQUF1QjtFQUN2Qix3QkFBd0I7RUFDeEIscUJBQXFCO0VBQ3JCLGdCQUFnQixFQUFFOztBQUVwQjtFQUNFLHVCQUF1QjtFQUN2QixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGFBQWEsRUFBRTs7QUFFakI7RUFDRSx1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixpQkFBaUIsRUFBRTs7QUFFckI7OztFQUdFO0FBQ0Y7RUFDRSxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLE9BQU87RUFDUCxZQUFZO0VBQ1osYUFBYTtFQUNiLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsaUNBQWlDO1VBQ3pCLHlCQUF5QjtFQUNqQyxvQ0FBb0M7RUFDcEMscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0UsbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixPQUFPO0VBQ1AsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUIsRUFBRTs7QUFFckI7O0VBRUUsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVSxFQUFFOztBQUVkLDBDQUEwQztBQUMxQzs7RUFFRSwwQkFBMEI7RUFDMUIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtNQUNsQixrQkFBa0I7RUFDdEIseUNBQXlDO0VBQ3pDLDRCQUE0QixFQUFFOztBQUVoQztFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osbUNBQW1DO0VBQ25DLCtCQUErQjtFQUMvQiwyQkFBMkI7RUFDM0IsK0JBQStCO0VBQy9CLDBFQUEwRTtVQUNsRSwwREFBMEQsRUFBRTs7QUFFdEU7RUFDRSxxQkFBcUI7RUFDckIsK0JBQStCO0VBQy9CLGdFQUFnRTtVQUN4RCx3REFBd0QsRUFBRTs7QUFFcEU7O0VBRUUseUJBQXlCO0VBQ3pCLGlCQUFpQixFQUFFOztBQUVyQjs7RUFFRSxvQ0FBb0MsRUFBRTs7QUFFeEM7RUFDRSxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVTtFQUNWLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osYUFBYTtFQUNiLE9BQU87RUFDUCxRQUFRLEVBQUU7O0FBRVo7OztFQUdFO0FBQ0Y7RUFDRSxvQ0FBb0MsRUFBRTs7QUFFeEM7OztFQUdFO0FBQ0Y7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSx1QkFBdUI7RUFDdkIsd0JBQXdCO0VBQ3hCLFFBQVE7RUFDUixPQUFPLEVBQUU7O0FBRVg7OztFQUdFO0FBQ0Y7RUFDRSxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFNBQVM7RUFDVCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFlBQVksRUFBRTs7QUFFaEI7RUFDRSxZQUFZO0VBQ1osMkJBQTJCLEVBQUU7QUNsTC9CLGlGQUFpRjtBQUNqRjs7Ozs7Ozs7Ozs7RUFXRTtBQUNGOzs7O0dBSUc7QUFDSCx3QkFBd0I7QUFDeEI7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix5QkFBeUI7RUFDekIsZUFBZTtFQUNmLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLGFBQWE7RUFDYixjQUFjO0VBQ2QsaUNBQWlDO1VBQ3pCLHlCQUF5QjtFQUNqQyx5QkFBeUI7VUFDakIsaUJBQWlCLEVBQUU7RUFDM0I7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLGNBQWM7SUFDZCxhQUFhLEVBQUU7RUFDakI7SUFDRSxXQUFXO0lBQ1gsVUFBVSxFQUFFOztBQUVoQiw4RkFBOEY7QUFDOUY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7OztFQUdFLHdEQUFnRDtFQUNoRCw0QkFBNEI7RUFDNUIsWUFBWTtFQUNaLGFBQWEsRUFBRTs7QUFFakI7RUFDRSxpRkFBaUY7RUFDakY7OztJQUdFLGdEQUF3QyxFQUFFO0VBQzVDOztJQUVFLGlCQUFpQixFQUFFLEVBQUU7O0FBRXpCO0VBQ0UsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsaUNBQWlDLEVBQUU7O0FBRXJDO0VBQ0UsY0FBYyxFQUFFOztBQUVsQjtFQUNFLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSw2QkFBNkIsRUFBRTs7QUFFakM7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCLEVBQUU7O0FBRWpDO0VBQ0UsZUFBZSxFQUFFOztBQUVuQjtFQUNFLDhCQUE4QixFQUFFOztBQUVsQyxnQ0FBZ0M7QUFDaEM7O0VBRUUsbUJBQW1CLEVBQUU7O0FBRXZCOzs7RUFHRTtBQUNGOztFQUVFLGlCQUFpQjtFQUNqQixTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixjQUFjO0VBQ2QsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0UsUUFBUSxFQUFFOztBQUVaO0VBQ0UsU0FBUyxFQUFFOztBQUViOztFQUVFLFlBQVk7RUFDWixVQUFVO0VBQ1YscUNBQXFDO0VBQ3JDLGFBQWE7RUFDYixZQUFZO0VBQ1osbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0UsVUFBVTtFQUNWLGtDQUFrQyxFQUFFOztBQUV0QztFQUNFLFdBQVc7RUFDWCxpQ0FBaUMsRUFBRTs7QUFFckM7Ozs7R0FJRztBQUNIOztFQUVFLDBCQUEwQjtFQUMxQix1QkFBdUI7RUFDdkIsc0JBQXNCO01BQ2xCLGtCQUFrQixFQUFFOztBQUUxQjtFQUNFLGVBQWU7RUFDZiwrQkFBK0I7RUFDL0IsWUFBWTtFQUNaLGFBQWE7RUFDYixPQUFPO0VBQ1AsUUFBUTtFQUNSLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLFdBQVc7RUFDWCwyQ0FBMkM7VUFDbkMsbUNBQW1DO0VBQzNDLG9DQUFvQztFQUNwQyxxQkFBcUIsRUFBRTs7QUFFekI7RUFDRSxjQUFjLEVBQUU7O0FBRWxCO0VBQ0UsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsWUFBWTtFQUNaLFlBQVk7RUFDWixrREFBa0Q7VUFDMUMsMENBQTBDO0VBQ2xELG1DQUFtQztNQUMvQiwrQkFBK0I7VUFDM0IsMkJBQTJCO0VBQ25DLDRDQUE0QztVQUNwQyw0QkFBNEI7RUFDcEMsb0NBQW9DO0VBQ3BDLHVCQUF1QixFQUFFO0VBQ3pCO0lBQ0UsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixrQkFBa0IsRUFBRTtJQUNwQjtNQUNFLHNCQUFzQjtNQUN0QixZQUFZLEVBQUU7SUFDaEI7TUFDRSwrQ0FBK0M7TUFDL0MsMkJBQTJCLEVBQUU7SUFDL0I7TUFDRSwyQkFBMkIsRUFBRTs7QUFFbkM7RUFDRSxXQUFXLEVBQUU7RUFDYjtJQUNFLGlDQUFpQztRQUM3Qiw2QkFBNkI7WUFDekIseUJBQXlCLEVBQUU7O0FBRXZDLG1EQUFtRDtBQUNuRDtFQUNFLG1CQUFtQixFQUFFOztBQUV2QjtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFlBQVk7RUFDWiw4QkFBOEI7RUFDOUIsMEJBQTBCO0VBQzFCLDZCQUE2QjtFQUM3QiwwQkFBMEI7RUFDMUIscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0Usb0JBQW9CO0VBQ3BCLFlBQVksRUFBRTtFQUNkO0lBQ0UsNkJBQTZCLEVBQUU7O0FBRW5DO0VBQ0Usb0JBQW9CO0VBQ3BCLFlBQVksRUFBRTs7QUFFaEI7RUFDRSxpQkFBaUI7RUFDakIsZUFBZSxFQUFFOztBQUVuQjtFQUNFLGlCQUFpQixFQUFFOztBQUVyQjs7OztHQUlHO0FBQ0g7RUFDRSxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLE9BQU87RUFDUCxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osY0FBYztFQUNkLGdCQUFnQixFQUFFOztBQUVwQjs7OztHQUlHO0FBQ0g7RUFDRSxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLFVBQVU7RUFDVixZQUFZO0VBQ1osaUJBQWlCLEVBQUU7RUFDbkI7SUFDRSxnQkFBZ0I7SUFDaEIsWUFBWSxFQUFFOztBQUVsQjtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFlBQVksRUFBRTs7QUFFaEI7RUFDRSxjQUFjLEVBQUU7O0FBRWxCLHVFQUF1RTtBQUN2RTtFQUNFLG1CQUFtQixFQUFFOztBQUV2Qjs7Ozs7O0dBTUc7QUFDSDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCwyQ0FBMkM7VUFDbkMsbUNBQW1DO0VBQzNDLHFCQUFxQjtFQUNyQixlQUFlLEVBQUU7O0FBRW5CO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixhQUFhLEVBQUU7O0FBRWpCO0VBQ0UsV0FBVyxFQUFFO0VBQ2I7SUFDRSw4REFBOEQ7SUFDOUQsd0RBQTZDLEVBQUU7O0FBRW5EO0VBQ0UsV0FBVyxFQUFFO0VBQ2I7SUFDRSxtREFBbUQ7WUFDM0MsMkNBQTJDLEVBQUU7RUFDdkQ7SUFDRSw4RUFBOEU7WUFDdEUsc0VBQXNFLEVBQUU7O0FBRXBGO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVUsRUFBRTs7QUFFZDtFQUNFOzs7SUFHRTtFQUNGLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsYUFBYTtFQUNiLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLCtCQUErQjtVQUN2Qix1QkFBdUI7RUFDL0IsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLCtCQUErQjtFQUMvQixpQ0FBaUM7RUFDakMsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsaUJBQWlCO0VBQ2pCLFVBQVUsRUFBRTs7QUFFZDtFQUNFO0lBQ0UsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxVQUFVO0lBQ1YsVUFBVTtJQUNWLGFBQWEsRUFBRSxFQUFFOztBQUVyQjtFQUNFO0lBQ0UsZ0NBQWdDO1lBQ3hCLHdCQUF3QixFQUFFO0VBQ3BDO0lBQ0Usa0NBQWtDO1lBQzFCLDBCQUEwQixFQUFFLEVBQUU7O0FBRTFDO0VBQ0U7SUFDRSxnQ0FBZ0M7WUFDeEIsd0JBQXdCLEVBQUU7RUFDcEM7SUFDRSxrQ0FBa0M7WUFDMUIsMEJBQTBCLEVBQUUsRUFBRTs7QUFFMUM7RUFDRTtJQUNFLDZCQUE2QjtZQUNyQixxQkFBcUIsRUFBRTtFQUNqQztJQUNFLG1DQUFtQztZQUMzQiwyQkFBMkIsRUFBRTtFQUN2QztJQUNFLDZCQUE2QjtZQUNyQixxQkFBcUIsRUFBRSxFQUFFOztBQUVyQztFQUNFO0lBQ0UsNkJBQTZCO1lBQ3JCLHFCQUFxQixFQUFFO0VBQ2pDO0lBQ0UsbUNBQW1DO1lBQzNCLDJCQUEyQixFQUFFO0VBQ3ZDO0lBQ0UsNkJBQTZCO1lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7O0FBRXJDOzs7O0dBSUc7QUFDSCx3QkFBd0I7QUFDeEI7RUFDRSw2QkFBNkI7RUFDN0Isb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxjQUFjLEVBQUU7O0FBRWxCLHVEQUF1RDtBQUN2RDtFQUNFLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsT0FBTztFQUNQLGFBQWE7RUFDYixZQUFZLEVBQUU7O0FBRWhCOzs7O0VBSUUsb0NBQW9DO0VBQ3BDLHFCQUFxQjtFQUNyQixnRUFBZ0U7VUFDeEQsd0RBQXdELEVBQUU7O0FBRXBFLG9GQUFvRjtBQUNwRjs7RUFFRSxvQkFBb0IsRUFBRTs7QUFFeEI7O0VBRUUscUNBQXFDLEVBQUU7O0FBRXpDLGtHQUFrRztBQUNsRzs7RUFFRSxxQ0FBcUMsRUFBRTs7QUFFekMsc0dBQXNHO0FBQ3RHO0VBQ0UsV0FBVyxFQUFFOztBQUVmOztFQUVFLFdBQVcsRUFBRTs7QUFFZjs7O0VBR0U7QUFDRjs7OztFQUlFLDBEQUEwRDtFQUMxRCxlQUFlLEVBQUU7O0FBRW5CLCtFQUErRTtBQUMvRTs7O0VBR0UsY0FBYyxFQUFFOztBQUVsQjtFQUNFLHlCQUF5QixFQUFFOztBQUU3QjtFQUNFLGlCQUFpQixFQUFFO0FDamVyQjs7RUFFQztDQ2FBOztBRFpBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NDYUE7O0FEWEE7RUFDQztDQ2NEOztBRHZCRDtFQVlHO0NDZUY7O0FEWEE7RUFDQztFQUNBO0VBQ0E7Q0NjRDs7QURqQ0Q7RUFzQkc7Q0NlRjs7QURkRTs7Ozs7O0VBS0Y7Q0NrQkE7O0FEZkQ7RUFDQztFQUNBO0VBQ0E7Q0NrQkE7O0FEakJBO0VBR0E7SUFDQztHQ2tCQztDQUNGOztBRGZEO0VBQ0M7SUFDQztJQUNBO0dDa0JDO0NBQ0Y7O0FDdEVEO0VBQ0M7Q0R5RUE7O0FDeEVBO0VBR0E7Q0R5RUE7O0FDdEVEOzs7RUFHQztFQUNBO0NEeUVBOztBQzlEQTs7O0VBUkM7RUFDQTtDRDRFRDs7QUMxRUM7OztFQUNDO0VBQ0E7Q0QrRUY7O0FDMUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NENkVBOztBQ25GRDtFQVNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDRDhFRDs7QUMxRUQ7RUFDQztFQUNBO0NENkVBOztBQzFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NENkVBOztBQzVFQTtFQUdBO0NENkVBOztBQzFFRDtFQUNDO0NENkVBOztBQzFFRDtFQUNDO0NENkVBOztBQzVFQTtFQUdBO0NENkVBOztBQzVFQTs7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0Q2RUE7O0FDdkZEOztFQWFFO0NEK0VEOztBQzlFQztFQUlEO0NEOEVBOztBQzNFRDtFQUNDO0VBQ0E7RUFDQTtDRDhFQTs7QUMzRUQ7RUFDQztFQUNBO0NEOEVBOztBQzNFRDtFQUNDO0VBQ0E7Q0Q4RUE7O0FDN0VBO0VBR0E7RUFDQTtDRDhFQTs7QUM3RUE7RUFHQTs7SUFFQztJQUNBO0dEOEVDO0NBQ0Y7O0FFcE1EO0VBQ0M7RUFDQTtFQUNBO0NGdU1BOztBRXBNRDtFQUNDO0NGdU1BOztBRWhNRDtFQUNDO0NGbU1BOztBR2xORDtFQUNDO0VBQ0E7Q0hxTkE7O0FHdk5EO0VBS0U7RUFDQTtDSHNORDs7QUc1TkQ7RUFTRztDSHVORjs7QUdoT0Q7RUFjRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NIc05EOztBRzNPRDtFQXdCRztFQUNBO0NIdU5GOztBR3JORTtFQUNDO0NId05IOztBR2xORDtFQUNDO0NIcU5BOztBR3RORDtFQUlFO0NIc05EOztBSTVQRDtFQUVFO0VBQ0E7Q0o4UEQ7O0FJalFEO0VBT0U7Q0o4UEQ7O0FLclFEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDTHdRQTs7QUs5UEE7RUFQQztDTHlRRDs7QUt4UUM7RUFHQTtFQUNBO0NMeVFEOztBS3JRRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NMdVFBOztBS3RRQTtFQUdBO0lBQ0M7R0x1UUM7O0VLclFGO0lBQ0M7SUFDQTtHTHdRQztDQUNGOztBTTNTRDtFQUNDO0NOOFNBOztBTS9TRDtFQUlFO0VBQ0E7Q04rU0Q7O0FNcFREO0VBUUc7RUFDQTtDTmdURjs7QU16VEQ7RUFjRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NOK1NEOztBTTlTQztFQUdBO0NOK1NEOztBTXJVRDtFQTBCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q04rU0Q7O0FNNVNBO0VBQ0M7Q04rU0Q7O0FNOVNDO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q04rU0Q7O0FNNVNBO0VBQ0M7RUFDQTtFQUNBO0NOK1NEOztBTWxXRDtFQXNERztFQUNBO0VBQ0E7RUFDQTtDTmdURjs7QU16V0Q7RUE4REU7RUFDQTtFQUNBO0VBQ0E7Q04rU0Q7O0FNOVNDOztFQUdBO0NOZ1REOztBTXJYRDtFQXlFRTtDTmdURDs7QU05U0M7RUFDQztFQUNBO0NOaVRGOztBTTlYRDtFQWtGRTtDTmdURDs7QU03U0E7RUFDQztDTmdURDs7QU10WUQ7RUEwRkU7Q05nVEQ7O0FNN1NBO0VBQ0M7Q05nVEQ7O0FNOVNDO0VBQ0M7Q05pVEY7O0FNbFpEO0VBb0dHO0VBQ0E7Q05rVEY7O0FNalRFO0VBSUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDTmlURDs7QU1sYUQ7RUFvSEc7RUFDQTtDTmtURjs7QU1qVEU7OztFQUtBO0VBQ0E7Q05rVEY7O0FNalRFO0VBSUQ7RUFDQTtDTmlURDs7QU03U0Q7RUFDQztFQUNBO0VBQ0E7Q05nVEE7O0FNL1NBO0VBSUM7SUFDQztJQUNBO0dOK1NBOztFTTVTRDtJQUNDO0dOK1NBOztFTTlTQTs7SUFHQTtHTmdUQTs7RU03U0Q7OztJQUdDO0dOZ1RBOztFTWpVRjtJQXFCRTtHTmdUQTtDQUNGOztBTTVTRDtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dOK1NDO0NBQ0Y7O0FPOWREO0VBQ0k7Q1BpZUg7O0FPcGRBO0VBVk87Q1BrZVA7O0FPL2RHO0VBQ0k7Q1BrZVA7O0FPMWVEO0VBWVE7Q1BrZVA7O0FPOWREO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1BpZUg7O0FPM2RBO0VBSE87RUFDQTtDUGtlUDs7QU9qZUk7RUFJRDtJQUNJO0dQaWVMOztFT2hlRTtJQUVHO0lBQ0E7R1BrZUw7Q0FDRjs7QVEzZ0JEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDUjhnQkE7O0FRM2dCRDtFQUNDO0VBQ0E7RUFDQTtDUjhnQkE7O0FRM2dCRDtFQU9DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1J3Z0JBOztBUXRnQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDUnlnQkQ7O0FRaGlCRDtFQTBCRztFQUNBO0VBQ0E7Q1IwZ0JGOztBUXpnQkU7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1IwZ0JGOztBUWxqQkQ7RUE0Q0c7RUFDQTtFQUNBO0VBQ0E7Q1IwZ0JGOztBUXpnQkU7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NSMGdCRjs7QVFuZ0JFO0VBSkM7RUFDQTtFQUNBO0NSMmdCSDs7QVExZ0JHO0VBSUQ7Q1IwZ0JGOztBUXpnQkU7RUFHQTtFQUNBO0VBQ0E7RUFDQTtDUjBnQkY7O0FReGdCRTtFQUNDO0NSMmdCSDs7QVExZ0JHO0VBSUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NSMGdCRjs7QVEvbEJEO0VBd0ZJO0NSMmdCSDs7QVFubUJEO0VBNkZHO0VBQ0E7RUFDQTtDUjBnQkY7O0FRemdCRTtFQUlEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1J5Z0JEOztBUXBuQkQ7RUE4R0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NSMGdCRjs7QVE3bkJEO0VBd0hFO0NSeWdCRDs7QVF2Z0JDO0VBQ0M7Q1IwZ0JGOztBUXJnQkQ7RUFDQztFQUNBO0VBQ0E7Q1J3Z0JBOztBUTNnQkQ7RUFNRTtDUnlnQkQ7O0FRcmdCRDtFQUNDO0lBQ0M7SUFDQTtHUndnQkM7Q0FDRjs7QVFyZ0JEO0VBT0M7SUFDQztHUmtnQkM7O0VRamdCRDtJQUdBO0dSa2dCQzs7RVFoZ0JEO0lBQ0M7SUFDQTtJQUNBO0dSbWdCQTs7RVF6ZkE7SUFQQztJQUNBO0dSb2dCRDs7RVE5Z0JGO0lBYUk7R1JxZ0JGO0NBQ0Y7O0FRL2ZEO0VBQ0M7SUFDQztJQUNBO0dSa2dCQztDQUNGOztBUS9mRDtFQUVFO0lBQ0M7SUFDQTtHUmlnQkE7O0VRcGdCRjtJQU9FO0dSaWdCQTtDQUNGOztBUTdmRDtFQUNDO0lBRUU7SUFDQTtHUitmQTs7RVE1ZkQ7SUFDQztHUitmQTtDQUNGOztBUTNmRDtFQUNDO0lBQ0M7SUFDQTtHUjhmQztDQUNGOztBU2p1QkQ7RUFDSTtDVG91Qkg7O0FTbHVCRztFQUNJO0NUcXVCUDs7QVNsdUJHO0VBQ0k7Q1RxdUJQIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEJvb3RzdHJhcCB2NC42LjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMiwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3csICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyOyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6ICRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDsgLy8gRm9yIElFOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5Mzk2XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuXG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIERlcHJlY2F0ZWQsIGJ1dCBhdm9pZHMgaXNzdWVzIHdpdGggZmxleCBjb250YWluZXJzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBVc2VkIGluc3RlYWQgb2YgYG92ZXJmbG93LXdyYXBgIGZvciBJRSAmIEVkZ2UgTGVnYWN5XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxODA4MTUxNTA5MzQvaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIi8qXG4gKiBXZWIgRm9udHMgZnJvbSBmb250c3ByaW5nLmNvbVxuICpcbiAqIEFsbCBPcGVuVHlwZSBmZWF0dXJlcyBhbmQgYWxsIGV4dGVuZGVkIGdseXBocyBoYXZlIGJlZW4gcmVtb3ZlZC5cbiAqIEZ1bGx5IGluc3RhbGxhYmxlIGZvbnRzIGNhbiBiZSBwdXJjaGFzZWQgYXQgaHR0cDovL3d3dy5mb250c3ByaW5nLmNvbVxuICpcbiAqIFRoZSBmb250cyBpbmNsdWRlZCBpbiB0aGlzIHN0eWxlc2hlZXQgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2UgeW91IHB1cmNoYXNlZFxuICogZnJvbSBGb250c3ByaW5nLiBUaGUgZm9udHMgYXJlIHByb3RlY3RlZCB1bmRlciBkb21lc3RpYyBhbmQgaW50ZXJuYXRpb25hbCB0cmFkZW1hcmsgYW5kXG4gKiBjb3B5cmlnaHQgbGF3LiBZb3UgYXJlIHByb2hpYml0ZWQgZnJvbSBtb2RpZnlpbmcsIHJldmVyc2UgZW5naW5lZXJpbmcsIGR1cGxpY2F0aW5nLCBvclxuICogZGlzdHJpYnV0aW5nIHRoaXMgZm9udCBzb2Z0d2FyZS5cbiAqXG4gKiAoYykgMjAxMC0yMDE0IEZvbnRzcHJpbmdcbiAqXG4gKlxuICpcbiAqXG4gKiBUaGUgZm9udHMgaW5jbHVkZWQgYXJlIGNvcHlyaWdodGVkIGJ5IHRoZSB2ZW5kb3IgbGlzdGVkIGJlbG93LlxuICpcbiAqIFZlbmRvcjogICAgICBTeW50aHZpZXcgVHlwZSBEZXNpZ25cbiAqIExpY2Vuc2UgVVJMOiBodHRwOi8vd3d3LmZvbnRzcHJpbmcuY29tL2xpY2Vuc2VzL3N5bnRodmlldy93ZWJmb250XG4gKlxuICpcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm92ZWNlbnRvIFNhbnMgV2lkZSc7XG4gIHNyYzogdXJsKCdmb250cy9MaWdodC9Ob3ZlY2VudG9zYW5zd2lkZS1MaWdodC13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvTGlnaHQvTm92ZWNlbnRvc2Fuc3dpZGUtTGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL0xpZ2h0L05vdmVjZW50b3NhbnN3aWRlLUxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnZm9udHMvTGlnaHQvTm92ZWNlbnRvc2Fuc3dpZGUtTGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvTGlnaHQvTm92ZWNlbnRvc2Fuc3dpZGUtTGlnaHQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udHMvTGlnaHQvTm92ZWNlbnRvc2Fuc3dpZGUtTGlnaHQtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZWxpZ2h0JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm92ZWNlbnRvIFNhbnMgV2lkZSc7XG4gIHNyYzogdXJsKCdmb250cy9Cb29rL05vdmVjZW50b3NhbnN3aWRlLUJvb2std2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL0Jvb2svTm92ZWNlbnRvc2Fuc3dpZGUtQm9vay13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnZm9udHMvQm9vay9Ob3ZlY2VudG9zYW5zd2lkZS1Cb29rLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnZm9udHMvQm9vay9Ob3ZlY2VudG9zYW5zd2lkZS1Cb29rLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2ZvbnRzL0Jvb2svTm92ZWNlbnRvc2Fuc3dpZGUtQm9vay13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCdmb250cy9Cb29rL05vdmVjZW50b3NhbnN3aWRlLUJvb2std2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZV9ib29rYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdmVjZW50byBTYW5zIFdpZGUnO1xuICBzcmM6IHVybCgnZm9udHMvUmVndWxhci9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL1JlZ3VsYXIvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9SZWd1bGFyL05vdmVjZW50b3NhbnN3aWRlLU5vcm1hbC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2ZvbnRzL1JlZ3VsYXIvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2ZvbnRzL1JlZ3VsYXIvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL1JlZ3VsYXIvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQuc3ZnI25vdmVjZW50b19zYW5zX3dpZGVub3JtYWwnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3ZlY2VudG8gU2FucyBXaWRlJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL01lZGl1bS9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL01lZGl1bS9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL01lZGl1bS9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdmb250cy9NZWRpdW0vTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2ZvbnRzL01lZGl1bS9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udHMvTWVkaXVtL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LnN2ZyNub3ZlY2VudG9fc2Fuc193aWRlbWVkaXVtJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm92ZWNlbnRvIFNhbnMgV2lkZSc7XG4gIHNyYzogdXJsKCdmb250cy9EZW1pQm9sZC9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvRGVtaUJvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL0RlbWlCb2xkL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnZm9udHMvRGVtaUJvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvRGVtaUJvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udHMvRGVtaUJvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZV9ib29rYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdmVjZW50byBTYW5zIFdpZGUnO1xuICBzcmM6IHVybCgnZm9udHMvQm9sZC9Ob3ZlY2VudG9zYW5zd2lkZS1Cb2xkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9Cb2xkL05vdmVjZW50b3NhbnN3aWRlLUJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL0JvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtQm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2ZvbnRzL0JvbGQvTm92ZWNlbnRvc2Fuc3dpZGUtQm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9Cb2xkL05vdmVjZW50b3NhbnN3aWRlLUJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udHMvQm9sZC9Ob3ZlY2VudG9zYW5zd2lkZS1Cb2xkLXdlYmZvbnQuc3ZnI25vdmVjZW50b19zYW5zX3dpZGVfYm9va2JvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvZm9udHMvbm92ZWNlbnRvLXdpZGUvbm92ZWNlbnRvLXdpZGUuY3NzIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3J0cyBNaWxsIEdvdWR5JztcbiAgICBzcmM6IHVybCgnR291ZHlTdE0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9mb250cy9zb3J0cy1taWxsLWdvdWR5L3JlZ3VsYXIuY3NzIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3J0cyBNaWxsIEdvdWR5JztcbiAgICBzcmM6IHVybCgnR291ZHlTdE0tSXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvZm9udHMvc29ydHMtbWlsbC1nb3VkeS9pdGFsaWMuY3NzIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgICBzcmM6IHVybCgncGxheWZhaXJkaXNwbGF5LWJsYWNrLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJ3BsYXlmYWlyZGlzcGxheS1ibGFjay13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgICBzcmM6IHVybCgncGxheWZhaXJkaXNwbGF5LWJsYWNraXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJ3BsYXlmYWlyZGlzcGxheS1ibGFja2l0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgICBzcmM6IHVybCgncGxheWZhaXJkaXNwbGF5LWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgncGxheWZhaXJkaXNwbGF5LWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknO1xuICAgIHNyYzogdXJsKCdwbGF5ZmFpcmRpc3BsYXktYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCdwbGF5ZmFpcmRpc3BsYXktYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheSc7XG4gICAgc3JjOiB1cmwoJ3BsYXlmYWlyZGlzcGxheS1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgncGxheWZhaXJkaXNwbGF5LWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JztcbiAgICBzcmM6IHVybCgncGxheWZhaXJkaXNwbGF5LXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgncGxheWZhaXJkaXNwbGF5LXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvZm9udHMvcGxheWZhaXItZGlzcGxheS9wbGF5ZmFpci1kaXNwbGF5LmNzcyIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcbiovXG4vKiBwc3dwID0gcGhvdG9zd2lwZSAqL1xuLnBzd3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxNTAwO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGNyZWF0ZSBzZXBhcmF0ZSBsYXllciwgdG8gYXZvaWQgcGFpbnQgb24gd2luZG93Lm9uc2Nyb2xsIGluIHdlYmtpdC9ibGluayAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAucHN3cCAqIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wc3dwIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIHN0eWxlIGlzIGFkZGVkIHdoZW4gSlMgb3B0aW9uIHNob3dIaWRlT3BhY2l0eSBpcyBzZXQgdG8gdHJ1ZSAqL1xuLnBzd3AtLWFuaW1hdGVfb3BhY2l0eSB7XG4gIC8qIDAuMDAxLCBiZWNhdXNlIG9wYWNpdHk6MCBkb2Vzbid0IHRyaWdnZXIgUGFpbnQgYWN0aW9uLCB3aGljaCBjYXVzZXMgbGFnIGF0IHN0YXJ0IG9mIHRyYW5zaXRpb24gKi9cbiAgb3BhY2l0eTogMC4wMDE7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4vKlxuXHRCYWNrZ3JvdW5kIGlzIGFkZGVkIGFzIGEgc2VwYXJhdGUgZWxlbWVudC5cblx0QXMgYW5pbWF0aW5nIG9wYWNpdHkgaXMgbXVjaCBmYXN0ZXIgdGhhbiBhbmltYXRpbmcgcmdiYSgpIGJhY2tncm91bmQtY29sb3IuXG4qL1xuLnBzd3BfX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faW1nIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cF9fYmcge1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ucHN3cF9faXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4vKlxuXHRzdHJldGNoZWQgdGh1bWJuYWlsIG9yIGRpdiBwbGFjZWhvbGRlciBlbGVtZW50IChzZWUgYmVsb3cpXG5cdHN0eWxlIGlzIGFkZGVkIHRvIGF2b2lkIGZsaWNrZXJpbmcgaW4gd2Via2l0L2JsaW5rIHdoZW4gbGF5ZXJzIG92ZXJsYXBcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlXG5cdGxhcmdlIGltYWdlIGxvYWRzIG9uIHRvcCBvZiBpdFxuKi9cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLS1ibGFuayB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL3Bob3Rvc3dpcGUvZGlzdC9waG90b3N3aXBlLmNzcyIsIi8qISBQaG90b1N3aXBlIERlZmF1bHQgVUkgQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblxuXHRDb250ZW50czpcblxuXHQxLiBCdXR0b25zXG5cdDIuIFNoYXJlIG1vZGFsIGFuZCBsaW5rc1xuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblx0NC4gQ2FwdGlvblxuXHQ1LiBMb2FkaW5nIGluZGljYXRvclxuXHQ2LiBBZGRpdGlvbmFsIHN0eWxlcyAocm9vdCBlbGVtZW50LCB0b3AgYmFyLCBpZGxlIHN0YXRlLCBoaWRkZW4gc3RhdGUsIGV0Yy4pXG5cbiovXG4vKlxuXHRcblx0MS4gQnV0dG9uc1xuXG4gKi9cbi8qIDxidXR0b24+IGNzcyByZXNldCAqL1xuLnBzd3BfX2J1dHRvbiB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgb3BhY2l0eTogMC43NTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAucHN3cF9fYnV0dG9uOmZvY3VzLCAucHN3cF9fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5wc3dwX19idXR0b246YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAucHN3cF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4vKiBwc3dwX191aS0tb3Zlci1jbG9zZSBjbGFzcyBpdCBhZGRlZCB3aGVuIG1vdXNlIGlzIG92ZXIgZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wc3dwX19idXR0b24sXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdXJsKGRlZmF1bHQtc2tpbi5wbmcpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDsgfVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG4gIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0LXNraW4uc3ZnKTsgfVxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLWZzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHN3cC0tc3VwcG9ydHMtZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwOyB9XG5cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODhweCAwOyB9XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzJweCAwOyB9XG5cbi8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcblx0KGljb24gaXMgYWRkZWQgdG8gOmJlZm9yZSBwc2V1ZG8tZWxlbWVudClcbiovXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzJweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSB7XG4gIGxlZnQ6IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzOHB4IC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICByaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDsgfVxuXG4vKlxuXG5cdDIuIFNoYXJlIG1vZGFsL3BvcHVwIGFuZCBsaW5rc1xuXG4gKi9cbi5wc3dwX19jb3VudGVyLFxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE2MDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgei1pbmRleDogMTYyMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICB0b3A6IDU2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICByaWdodDogNDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cztcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnBzd3BfX3NoYXJlLXRvb2x0aXAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAvKiByb3VuZCBjb3JuZXJzIG9uIHRoZSBmaXJzdC9sYXN0IGxpc3QgaXRlbSAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7IH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7IH1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIHtcbiAgb3BhY2l0eTogMTsgfVxuICAucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4gLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIGluY3JlYXNlIHNpemUgb2Ygc2hhcmUgbGlua3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7IH1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcbiAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLW1vei1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM0U1QzlBO1xuICBjb2xvcjogI0ZGRjsgfVxuICBhLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlcjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzRTVDOUE7IH1cblxuYS5wc3dwX19zaGFyZS0tdHdpdHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1NUFDRUU7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbmEucHN3cF9fc2hhcmUtLXBpbnRlcmVzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNDQ0M7XG4gIGNvbG9yOiAjQ0UyNzJEOyB9XG5cbmEucHN3cF9fc2hhcmUtLWRvd25sb2FkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0RERDsgfVxuXG4vKlxuXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXG4gKi9cbi5wc3dwX19jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogNDRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgY29sb3I6ICNGRkY7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuXG4vKlxuXHRcblx0NC4gQ2FwdGlvblxuXG4gKi9cbi5wc3dwX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0NHB4OyB9XG4gIC5wc3dwX19jYXB0aW9uIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICNCQkI7IH1cblxuLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogI0NDQzsgfVxuXG4ucHN3cF9fY2FwdGlvbi0tZW1wdHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEZha2UgY2FwdGlvbiBlbGVtZW50LCB1c2VkIHRvIGNhbGN1bGF0ZSBoZWlnaHQgb2YgbmV4dC9wcmV2IGltYWdlICovXG4ucHN3cF9fY2FwdGlvbi0tZmFrZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yIChwcmVsb2FkZXIpXG5cblx0WW91IGNhbiBwbGF5IHdpdGggaXQgaGVyZSAtIGh0dHA6Ly9jb2RlcGVuLmlvL2RpbXNlbWVub3YvcGVuL3l5QldvUlxuXG4gKi9cbi5wc3dwX19wcmVsb2FkZXIge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAxMnB4OyB9XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgLyogV2UgdXNlIC5naWYgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IENTUyBhbmltYXRpb24gKi9cbiAgICBiYWNrZ3JvdW5kOiB1cmwocHJlbG9hZGVyLmdpZikgMCAwIG5vLXJlcGVhdDsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG4gIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlOyB9XG4gIC5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7IH1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3BhY2l0eTogMC43NTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19jdXQge1xuICAvKiBcblx0XHRcdFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcblx0XHRcdCBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcblx0XHQqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5wc3dwX19wcmVsb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuQGtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi8qXG5cdFxuXHQ2LiBBZGRpdGlvbmFsIHN0eWxlc1xuXG4gKi9cbi8qIHJvb3QgZWxlbWVudCBvZiBVSSAqL1xuLnBzd3BfX3VpIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTU1MDsgfVxuXG4vKiB0b3AgYmxhY2sgYmFyIHdpdGggYnV0dG9ucyBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3IgKi9cbi5wc3dwX190b3AtYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogNDRweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLyogcHN3cC0taGFzX21vdXNlIGNsYXNzIGlzIGFkZGVkIG9ubHkgd2hlbiB0d28gc3Vic2VxdWVudCBtb3VzZW1vdmUgZXZlbnRzIG9jY3VyICovXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2NhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKiBwc3dwX191aS0taWRsZSBjbGFzcyBpcyBhZGRlZCB3aGVuIG1vdXNlIGlzbid0IG1vdmluZyBmb3Igc2V2ZXJhbCBzZWNvbmRzIChKUyBvcHRpb24gdGltZVRvSWRsZSkgKi9cbi5wc3dwX191aS0taWRsZSAucHN3cF9fdG9wLWJhciB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLypcblx0cHN3cF9fdWktLWhpZGRlbiBjbGFzcyBpcyBhZGRlZCB3aGVuIGNvbnRyb2xzIGFyZSBoaWRkZW5cblx0ZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xuKi9cbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIC8qIEZvcmNlIHBhaW50ICYgY3JlYXRlIGNvbXBvc2l0aW9uIGxheWVyIGZvciBjb250cm9scy4gKi9cbiAgb3BhY2l0eTogMC4wMDE7IH1cblxuLyogcHN3cF9fdWktLW9uZS1zbGlkZSBjbGFzcyBpcyBhZGRlZCB3aGVuIHRoZXJlIGlzIGp1c3Qgb25lIGl0ZW0gaW4gZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fY291bnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wc3dwLS1taW5pbWFsLS1kYXJrIC5wc3dwX190b3AtYmFyIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL3Bob3Rvc3dpcGUvZGlzdC9kZWZhdWx0LXNraW4vZGVmYXVsdC1za2luLmNzcyIsImh0bWwsXG5ib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4jZm9vdGVyIHtcblx0cGFkZGluZzogMmVtIDFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJGxpZ2h0LWdyYXk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1zYW5zO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkZ3JheTtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRncmF5O1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7XG5cdFx0Y29sb3I6ICRsaWdodC1ncmF5O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0fVxuXHR9XG59XG5cbltuZ1xcOmNsb2FrXSwgW25nLWNsb2FrXSwgW2RhdGEtbmctY2xvYWtdLCBbeC1uZy1jbG9ha10sIC5uZy1jbG9haywgLngtbmctY2xvYWsge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbm5lciB7XG5cdG1heC13aWR0aDogNzV2dztcblx0bWFyZ2luOiAwIDFyZW0gMCBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXBvaW50LXRhYmxldCkge1xuXHQuaW5uZXIge1xuXHRcdG1hcmdpbjogMCAycmVtIDAgYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1wb2ludC1zbWFsbC1kZXNrdG9wKSB7XG5cdC5pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA2ODBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9fbGF5b3V0LnNjc3MiLCJAaW1wb3J0IHVybCguLi9mb250cy9ub3ZlY2VudG8td2lkZS9ub3ZlY2VudG8td2lkZS5jc3MpO1xuXG5AaW1wb3J0IHVybCguLi9mb250cy9zb3J0cy1taWxsLWdvdWR5L3JlZ3VsYXIuY3NzKTtcblxuQGltcG9ydCB1cmwoLi4vZm9udHMvc29ydHMtbWlsbC1nb3VkeS9pdGFsaWMuY3NzKTtcblxuQGltcG9ydCB1cmwoLi4vZm9udHMvcGxheWZhaXItZGlzcGxheS9wbGF5ZmFpci1kaXNwbGF5LmNzcyk7XG5cbkBpbXBvcnQgdXJsKH5waG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS5jc3MpO1xuXG5AaW1wb3J0IHVybCh+cGhvdG9zd2lwZS9kaXN0L2RlZmF1bHQtc2tpbi9kZWZhdWx0LXNraW4uY3NzKTtcblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNmb290ZXIge1xuICBwYWRkaW5nOiAyZW0gMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZDBkMGQwO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiLFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7XG59XG5cbiNmb290ZXI6aG92ZXIge1xuICBjb2xvcjogI2FhYTtcbn1cblxuI2Zvb3Rlcjpob3ZlciBhIHtcbiAgY29sb3I6ICNhYWE7XG59XG5cbiNmb290ZXIgYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7XG4gIGNvbG9yOiAjZDBkMGQwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI2Zvb3RlciBhOmhvdmVyIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG5bbmdcXDpjbG9ha10sXG5bbmctY2xvYWtdLFxuW2RhdGEtbmctY2xvYWtdLFxuW3gtbmctY2xvYWtdLFxuLm5nLWNsb2FrLFxuLngtbmctY2xvYWsge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbm5lciB7XG4gIG1heC13aWR0aDogNzV2dztcbiAgbWFyZ2luOiAwIDFyZW0gMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmlubmVyIHtcbiAgICBtYXJnaW46IDAgMnJlbSAwIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAuaW5uZXIge1xuICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuaHRtbCB7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcbn1cblxuaDEsXG5oMixcbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLHNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oMSBhLFxuaDIgYSxcbmgzIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMSBhOmhvdmVyLFxuaDIgYTpob3ZlcixcbmgzIGE6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMSB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgcGFkZGluZy10b3A6IDNlbTtcbiAgZm9udC1zaXplOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdmVjZW50byBTYW5zIFdpZGVcIixzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyMHB4IGF1dG8gNDBweDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG5oMyB7XG4gIG1hcmdpbjogMS41ZW0gMCAwO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmZvcm0ge1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiLFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4uZ3JlZW4ge1xuICBjb2xvcjogIzM4YTc0NTtcbn1cblxuLm9yYW5nZSB7XG4gIGNvbG9yOiAjZjVjMTA5O1xufVxuXG4ucmVkIHtcbiAgY29sb3I6ICNkYzM1NDU7XG59XG5cbi5hbGVydCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcbn1cblxuLmJhY2stc3RhbmRhbG9uZSxcbi5idXR0b24tcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBtYXJnaW46IDAuNWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IFwiTm92ZWNlbnRvIFNhbnMgV2lkZVwiLHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmJhY2stc3RhbmRhbG9uZTpob3Zlcixcbi5idXR0b24tcmlnaHQ6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idXR0b24tcmlnaHQge1xuICByaWdodDogMDtcbn1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzOGE3NDU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzM4YTc0NSAwJSwgIzM4YTc4OCAxMDAlKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZjVjMTA5O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmNWMxMDkgMCUsICNmNWE3MDkgMTAwJSk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNkYzM1NDUgMCUsICNkYzM1NzAgMTAwJSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmJhY2stc3RhbmRhbG9uZSxcbiAgLmJ1dHRvbi1yaWdodCB7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG1hcmdpbjogMWVtO1xuICB9XG59XG5cbi5wc3dwX19iZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM4LDIzOCwyMzgsMC45KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG59XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAuMnJlbSAwLjJyZW0gMC41cmVtIHJnYmEoMCwwLDAsMC4zKSk7XG59XG5cbi5wc3dwX19idXR0b24ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZGVmYXVsdC1za2luLnBuZyk7XG59XG5cbi5mb3JtLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uZm9ybS1ibG9jayAuaGludCB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvcm0tYmxvY2sgLmhpbnQ6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybS1ibG9jayAuYXV0b2NvbXBsZXRlLWl0ZW1zIHtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuLmZvcm0tYmxvY2sgLmF1dG9jb21wbGV0ZS1pdGVtcz5kaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xufVxuXG4uZm9ybS1ibG9jayAuYXV0b2NvbXBsZXRlLWl0ZW1zPmRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG59XG5cbi5mb3JtLWF0dHJpYnV0ZXMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tYXR0cmlidXRlcyAucm93Ky5yb3cge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbiNjb3VudHJ5LWxpc3QgLmZsYWcge1xuICBtYXgtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAtMC4yNWVtIDA7XG59XG5cbiNjb3VudHJ5LWxpc3QgdGQuYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc2hlbGYtbGlmZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDFlbSAxZW0gMTIwcHg7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4jc2hlbGYtbGlmZSBoMSB7XG4gIHBhZGRpbmctdG9wOiAyZW07XG59XG5cbiNzaGVsZi1saWZlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3NoZWxmLWxpZmUtY2FwdGlvbiB7XG4gIHdpZHRoOiA5NjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gOTczcHgpIC8gMik7XG4gIHBhZGRpbmc6IDNlbSAxZW0gMWVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCAjZmZmIDIwJSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gICNzaGVsZi1saWZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICNzaGVsZi1saWZlLWNhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuI3dpbmUtZGV0YWlsIHtcbiAgcGFkZGluZy1ib3R0b206IDJlbTtcbn1cblxuI3dpbmUtZGV0YWlsIGgyIHtcbiAgbWFyZ2luOiAxNTBweCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4jd2luZS1kZXRhaWwgaDIgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4jd2luZS1kZXRhaWwgaDMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNhYWE7XG59XG5cbiN3aW5lLWRldGFpbCBmb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4jd2luZS1kZXRhaWwgLnN1YnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIixzZXJpZjtcbiAgbWFyZ2luOiAtMjBweCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4jd2luZS1kZXRhaWwgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4jd2luZS1kZXRhaWwgI3dpbmUtYm90dGxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGNhbGMoNzVweCArIDEyMHB4IC0gMTIuNXZ3KTtcbiAgcmlnaHQ6IGNhbGMoNzV2dyArIDIuNXJlbSk7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDI1dnc7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMC4ycmVtIDAuMnJlbSAwLjVyZW0gcmdiYSgwLDAsMCwwLjMpKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jd2luZS1kZXRhaWwgLm9yaWdpbiB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4jd2luZS1kZXRhaWwgLm9yaWdpbiBpbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG5cbiN3aW5lLWRldGFpbCAudGV4dC1iaWcgLnRleHQtc21hbGwge1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG59XG5cbiN3aW5lLWRldGFpbCAudGV4dC1iaWcgcCxcbiN3aW5lLWRldGFpbCAudGV4dC1iaWcgdGQge1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4jd2luZS1kZXRhaWwgLnRhYmxlLWdyYXBlcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiN3aW5lLWRldGFpbCAudGFibGUtZ3JhcGVzIHRkLnBlcmNlbnRhZ2Uge1xuICBjb2xvcjogI2FhYTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbiN3aW5lLWRldGFpbCAuZmFjdHMtYXV0bz5kaXYge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuI3dpbmUtZGV0YWlsIC5mYWN0cy0zPmRpdiB7XG4gIGZsZXg6IDEgMSAzMy4zMyU7XG59XG5cbiN3aW5lLWRldGFpbCAuZmFjdHMtND5kaXYge1xuICBmbGV4OiAxIDEgMjUlO1xufVxuXG4jd2luZS1kZXRhaWwgLnJhdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuI3dpbmUtZGV0YWlsIC5yYXRpbmcgLnBvaW50cyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbiN3aW5lLWRldGFpbCAucmF0aW5nIC5tYXgge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogI2FhYTtcbn1cblxuI3dpbmUtZGV0YWlsIHRleHRhcmVhLm5vdGVzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogLTAuNWVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgbWluLWhlaWdodDogNGVtO1xuICBjdXJzb3I6IHRleHQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQ7XG59XG5cbiN3aW5lLWRldGFpbCB0ZXh0YXJlYS5ub3Rlczo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4jd2luZS1kZXRhaWwgdGV4dGFyZWEubm90ZXMub3BlbixcbiN3aW5lLWRldGFpbCB0ZXh0YXJlYS5ub3Rlczpob3ZlcixcbiN3aW5lLWRldGFpbCB0ZXh0YXJlYS5ub3Rlczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbiN3aW5lLWRldGFpbCAjbm90ZXMtY29udHJvbHMge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiN3aW5lLWhlYWRlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAjd2luZS1kZXRhaWwgaDIge1xuICAgIG1hcmdpbjogMjUwcHggMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICB9XG5cbiAgI3dpbmUtZGV0YWlsIC5vcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cblxuICAjd2luZS1kZXRhaWwgLnRleHQtYmlnIHAsXG4gICN3aW5lLWRldGFpbCAudGV4dC1iaWcgdGQge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cblxuICAjd2luZS1kZXRhaWwgLmZhY3RzLTMsXG4gICN3aW5lLWRldGFpbCAuZmFjdHMtNCxcbiAgI3dpbmUtZGV0YWlsIC5mYWN0cy1hdXRvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgI3dpbmUtZGV0YWlsICN3aW5lLWJvdHRsZSB7XG4gICAgcmlnaHQ6IGNhbGMoNzV2dyArIDMuNXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAjd2luZS1kZXRhaWwgI3dpbmUtYm90dGxlIHtcbiAgICB0b3A6IDc1cHg7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gNjgwcHgpLzIgKyA3MjBweCk7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDc1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbiNlZGl0Zm9ybSB7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuXG4jZWRpdGZvcm0gdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJGaXJhQ29kZVwiLG1vbm9zcGFjZTtcbn1cblxuI2VkaXRmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jZWRpdGZvcm0gLmN1c3RvbS1maWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4jZGVsZXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMC41ZW07XG4gIG1hcmdpbjogMC41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNjMDM5MmI7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdmVjZW50byBTYW5zIFdpZGVcIixzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiNkZWxldGU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZTc0YzNjO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICNlZGl0Zm9ybSB7XG4gICAgcGFkZGluZzogMC41ZW0gMC41ZW0gMmVtO1xuICB9XG5cbiAgI2RlbGV0ZSB7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG1hcmdpbjogMWVtO1xuICB9XG59XG5cbiNsb2dpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuXG4jc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbiN3aW5lLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4jd2luZS1saXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgY2FsYygxMDAlIC0gMmVtKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyZW0pO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEyMHB4ICsgMmVtKTtcbiAgbWFyZ2luOiAzMHB4IDFlbSAxZW07XG4gIHBhZGRpbmc6IDFlbSAxZW0gMWVtIGNhbGMoMmVtICsgNTBweCk7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4jd2luZS1saXN0IGxpIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiN3aW5lLWxpc3QgbGkubm8tcmVzdWx0cyB7XG4gIGZsZXg6IDEgMSAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDNlbSAwO1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1mYW1pbHk6IFwiTm92ZWNlbnRvIFNhbnMgV2lkZVwiLHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbiN3aW5lLWxpc3QgbGkgaDIge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luOiAwLjVlbSAwIDA7XG59XG5cbiN3aW5lLWxpc3QgbGkgLmJvdHRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMWVtO1xuICB0b3A6IGNhbGMoMWVtIC0gMzBweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHg7XG59XG5cbiN3aW5lLWxpc3QgbGkgLmJvdHRsZSBpbWcge1xuICBoZWlnaHQ6IDE1MHB4O1xuICB3aWR0aDogYXV0bztcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwLjJyZW0gMC4ycmVtIDAuNXJlbSByZ2JhKDAsMCwwLDAuMykpO1xufVxuXG4jd2luZS1saXN0IGxpIC5uYW1lIHtcbiAgZmxleDogMTtcbn1cblxuI3dpbmUtbGlzdCBsaSAueWVhciB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIixzZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICNhYWE7XG59XG5cbiN3aW5lLWxpc3QgbGkgLnllYXI6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jd2luZS1saXN0IGxpIC5zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIixzZXJpZjtcbiAgY29sb3I6ICNhYWE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4jd2luZS1saXN0IGxpIC5zdWJ0aXRsZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiN3aW5lLWxpc3QgbGkgLmdyYXBlcyB7XG4gIGZsZXg6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgY29sb3I6ICNhYWE7XG59XG5cbiN3aW5lLWxpc3QgLmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiTm92ZWNlbnRvIFNhbnMgV2lkZVwiLHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbiN3aW5lLWxpc3QgLmxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggMCAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgYmxhY2s7XG59XG5cbiN3aW5lLWxpc3QgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4jd2luZS1saXN0IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNhY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiLFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG59XG5cbiNhY3Rpb25zIC5idG4ge1xuICBtaW4td2lkdGg6IDEwMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICN3aW5lLWxpc3QgbGkge1xuICAgIGZsZXg6IDEgMSBjYWxjKDUwJSAtIDJlbSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAjc2VhcmNoIHtcbiAgICBwYWRkaW5nOiAyZW07XG4gIH1cblxuICAjd2luZS1saXN0IHtcbiAgICBwYWRkaW5nOiAxLjVlbTtcbiAgfVxuXG4gICN3aW5lLWxpc3QgbGkge1xuICAgIG1hcmdpbjogNjBweCAxZW0gMWVtO1xuICAgIHBhZGRpbmc6IDEuNWVtIDEuNWVtIDEuNWVtIGNhbGMoM2VtICsgODBweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDE5MHB4ICsgM2VtKTtcbiAgfVxuXG4gICN3aW5lLWxpc3QgbGkgLmJvdHRsZSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgdG9wOiBjYWxjKDEuNWVtIC0gNjBweCk7XG4gIH1cblxuICAjd2luZS1saXN0IGxpIC5ib3R0bGUgaW1nIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICN3aW5lLWxpc3QgbGkge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMyUgLSAyZW0pO1xuICAgIG1heC13aWR0aDogY2FsYygzMy4zJSAtIDJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgI3dpbmUtbGlzdCBsaSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAyZW0pO1xuICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAyZW0pO1xuICB9XG5cbiAgI3dpbmUtbGlzdCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgI3dpbmUtbGlzdCBsaSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAyZW0pO1xuICAgIG1heC13aWR0aDogY2FsYygyMCUgLSAyZW0pO1xuICB9XG5cbiAgI3dpbmUtbGlzdCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgI3dpbmUtbGlzdCBsaSB7XG4gICAgZmxleC1iYXNpczogY2FsYygxNi42JSAtIDJlbSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE2LjYlIC0gMmVtKTtcbiAgfVxufVxuXG4jbG9naW5mb3JtIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbn1cblxuI2xvZ2luZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuI2xvZ2luZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9hcHAuc2NzcyIsImh0bWwge1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stc2Fucztcbn1cblxuaDEsXG5oMixcbmgzIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXNlcmlmO1xuXHRmb250LXdlaWdodDogNjAwO1xuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbmgxIHtcblx0bWFyZ2luOiAwIDAgMWVtO1xuXHRwYWRkaW5nLXRvcDogM2VtO1xuXHRmb250LXNpemU6IDJyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXRpdGxlO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMjBweCBhdXRvIDQwcHg7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcblx0fVxufVxuXG5oMyB7XG5cdG1hcmdpbjogMS41ZW0gMCAwO1xuXHRmb250LXNpemU6IDFyZW07XG59XG5cbmZvcm0ge1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stc2Fucztcblx0bWF4LXdpZHRoOiAkYnJlYWstcG9pbnQtdGFibGV0O1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZy1ib3R0b206IDJlbTtcbn1cblxuLmdyZWVuIHtcblx0Y29sb3I6ICRncmVlbjtcbn1cblxuLm9yYW5nZSB7XG5cdGNvbG9yOiAkb3JhbmdlO1xufVxuXG4ucmVkIHtcblx0Y29sb3I6ICRyZWQ7XG59XG5cbi5hbGVydCB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1zYW5zO1xufVxuXG4uYmFjay1zdGFuZGFsb25lLFxuLmJ1dHRvbi1yaWdodCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzogMC41ZW07XG5cdG1hcmdpbjogMC41ZW07XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29sb3I6IGJsYWNrO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stdGl0bGU7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLmJ1dHRvbi1yaWdodCB7XG5cdHJpZ2h0OiAwO1xufVxuXG4uYWxlcnQge1xuXHRwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXI6IDA7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogJGdyZWVuO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoNTYsIDE2NywgNjksIDEpIDAlLCByZ2JhKDU2LCAxNjcsIDEzNiwgMSkgMTAwJSk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogJG9yYW5nZTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI0NSwgMTkzLCA5LCAxKSAwJSwgcmdiYSgyNDUsIDE2NywgOSwgMSkgMTAwJSk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuXHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjIwLCA1MywgNjksIDEpIDAlLCByZ2JhKDIyMCwgNTMsIDExMiwgMSkgMTAwJSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXBvaW50LXRhYmxldCkge1xuXHQuYmFjay1zdGFuZGFsb25lLFxuXHQuYnV0dG9uLXJpZ2h0IHtcblx0XHRwYWRkaW5nOiAxZW07XG5cdFx0bWFyZ2luOiAxZW07XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9jc3MvX3R5cG9ncmFwaHkuc2NzcyIsIi5wc3dwX19iZyB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjM4LDIzOCwyMzgsIDAuOSk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xufVxuXG4ucHN3cF9fem9vbS13cmFwIHtcblx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwLjJyZW0gMC4ycmVtIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMykpO1xufVxuXG4ucHN3cF9faW1nIHtcblx0Ly9wYWRkaW5nOiAxZW07XG59XG5cbi5wc3dwX19idXR0b24ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL2RlZmF1bHQtc2tpbi5wbmcpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9fcGhvdG9zd2lwZS5zY3NzIiwiLmZvcm0tYmxvY2sge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cblx0LmhpbnQge1xuXHRcdGZvbnQtc2l6ZTogMC44ZW07XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXG5cdFx0JjplbXB0eSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5hdXRvY29tcGxldGUtaXRlbXMge1xuXHRcdG1hcmdpbi10b3A6IDNweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcblx0XHRib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogMjtcblx0XHRib3gtc2hhZG93OiAwIDAgMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuXHRcdD4gZGl2IHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJhY2tncm91bmQtZ3JheVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZm9ybS1hdHRyaWJ1dGVzIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0LnJvdyArIC5yb3cge1xuXHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9fZm9ybS5zY3NzIiwiI2NvdW50cnktbGlzdCB7XG5cdC5mbGFnIHtcblx0XHRtYXgtaGVpZ2h0OiAxLjVlbTtcblx0XHRtYXJnaW46IC0wLjI1ZW0gMDtcblx0fVxuXG5cdHRkLmFjdGlvbnMge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvY3NzL19jb3VudHJ5LnNjc3MiLCIjc2hlbGYtbGlmZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDk2MHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdHBhZGRpbmc6IDFlbSAxZW0gMTIwcHg7XG5cdHotaW5kZXg6IC0xO1xuXG5cdGgxIHtcblx0XHRwYWRkaW5nLXRvcDogMmVtO1xuXHR9XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4jc2hlbGYtbGlmZS1jYXB0aW9uIHtcblx0d2lkdGg6IDk2MHB4O1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogY2FsYygoMTAwdncgLSA5NzNweCkgLyAyKTtcblx0cGFkZGluZzogM2VtIDFlbSAxZW07XG5cblx0YmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDIwJSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG5cdCNzaGVsZi1saWZlIHtcblx0XHR3aWR0aDogMTAwJVxuXHR9XG5cdCNzaGVsZi1saWZlLWNhcHRpb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9jc3MvX3NoZWxmLWxpZmUuc2NzcyIsIiN3aW5lLWRldGFpbCB7XG5cdHBhZGRpbmctYm90dG9tOiAyZW07XG5cblx0aDIge1xuXHRcdG1hcmdpbjogMTUwcHggMCAyMHB4O1xuXHRcdGZvbnQtc2l6ZTogMmVtO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0Y29sb3I6ICRncmF5O1xuXHRcdH1cblx0fVxuXG5cdGgzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXNhbnM7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGNvbG9yOiAkZ3JheTtcblx0fVxuXG5cdGZvcm0ge1xuXHRcdG1hcmdpbjogMFxuXHR9XG5cblx0LnN1YnRpdGxlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stc2VyaWY7XG5cdFx0bWFyZ2luOiAtMjBweCAwIDIwcHg7XG5cdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdGNvbG9yOiAkZ3JheTtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cblx0I3dpbmUtYm90dGxlIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiBjYWxjKDc1cHggKyAxMjBweCAtIDEyLjV2dyk7XG5cdFx0cmlnaHQ6IGNhbGMoNzV2dyArIDIuNXJlbSk7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiAyNXZ3O1xuXHRcdGZpbHRlcjogZHJvcC1zaGFkb3coMC4ycmVtIDAuMnJlbSAwLjVyZW0gcmdiYSgwLDAsMCwwLjMpKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQub3JpZ2luIHtcblx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0Y29sb3I6ICRncmF5O1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWF4LWhlaWdodDogMC43NWVtO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjNlbTtcblx0XHR9XG5cdH1cblxuXHQudGV4dC1iaWcgLnRleHQtc21hbGwge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcblx0XHRoeXBoZW5zOiBhdXRvO1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcblx0fVxuXG5cdC50ZXh0LWJpZyBwLCAudGV4dC1iaWcgdGQge1xuXHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdH1cblxuXHQudGFibGUtZ3JhcGVzIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0dGQucGVyY2VudGFnZSB7XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblxuXHQuZmFjdHMtYXV0byA+IGRpdiB7XG5cdFx0ZmxleDogMSAxIGF1dG87XG5cdH1cblxuXHQuZmFjdHMtMyA+IGRpdiB7XG5cdFx0ZmxleDogMSAxIDMzLjMzJTtcblx0fVxuXG5cdC5mYWN0cy00ID4gZGl2IHtcblx0XHRmbGV4OiAxIDEgMjUlO1xuXHR9XG5cblx0LnJhdGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG5cdFx0LnBvaW50cyB7XG5cdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdH1cblx0XHQubWF4IHtcblx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0fVxuXHR9XG5cblx0dGV4dGFyZWEubm90ZXMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogLTAuNWVtO1xuXHRcdHBhZGRpbmc6IDAuNWVtO1xuXHRcdG1pbi1oZWlnaHQ6IDRlbTtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQ7XG5cblx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0fVxuXG5cdFx0Ji5vcGVuLFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ncmF5O1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQjbm90ZXMtY29udHJvbHMge1xuXHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbiN3aW5lLWhlYWRlciB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0YmFja2dyb3VuZDogJGJhY2tncm91bmQtZ3JheTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstcG9pbnQtdGFibGV0KSB7XG5cdCN3aW5lLWRldGFpbHtcblx0XHRoMiB7XG5cdFx0XHRtYXJnaW46IDI1MHB4IDAgMjBweDtcblx0XHRcdGZvbnQtc2l6ZTogM2VtO1xuXHRcdH1cblxuXHRcdC5vcmlnaW4ge1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHR9XG5cblx0XHQudGV4dC1iaWcgcCwgLnRleHQtYmlnIHRkIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0fVxuXG5cdFx0LmZhY3RzLTMsXG5cdFx0LmZhY3RzLTQsXG5cdFx0LmZhY3RzLWF1dG8ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cblx0XHQjd2luZS1ib3R0bGUge1xuXHRcdFx0cmlnaHQ6IGNhbGMoNzV2dyArIDMuNXJlbSk7XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXBvaW50LXNtYWxsLWRlc2t0b3ApIHtcblx0I3dpbmUtZGV0YWlsICN3aW5lLWJvdHRsZSB7XG5cdFx0dG9wOiA3NXB4O1xuXHRcdHJpZ2h0OiBjYWxjKCgxMDB2dyAtIDY4MHB4KS8yICsgNzIwcHgpO1xuXHRcdGhlaWdodDogNzV2aDtcblx0XHRtaW4taGVpZ2h0OiAxMDBweDtcblx0XHRtYXgtaGVpZ2h0OiA3NTBweDtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9fd2luZS5zY3NzIiwiI2VkaXRmb3JtIHtcbiAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLW1vbm87XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1maWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbn1cblxuI2RlbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1hcmdpbjogMC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjYzAzOTJiO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay10aXRsZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICNlNzRjM2M7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1wb2ludC10YWJsZXQpIHtcbiAgICAjZWRpdGZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAyZW07XG4gICAgfVxuICAgICNkZWxldGUge1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIG1hcmdpbjogMWVtO1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9jc3MvX3dpbmUtZWRpdC5zY3NzIiwiI2xvZ2luIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDI1cHg7XG59XG5cbiNzZWFyY2gge1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdHBhZGRpbmc6IDFlbTtcbn1cblxuI3dpbmUtbGlzdCB7XG5cdCRlbGVtZW50LXBhZGRpbmc6IDFlbTtcblx0JGVsZW1lbnQtZ2FwOiAxZW07XG5cdCRib3R0bGUtb2Zmc2V0OiAzMHB4O1xuXHQkYm90dGxlLXdpZHRoOiA1MHB4O1xuXHQkYm90dGxlLWhlaWdodDogMTUwcHg7XG5cblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwLjVlbTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHRsaSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZsZXg6IDEgMSBjYWxjKDEwMCUgLSAyZW0pO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMmVtKTtcblx0XHRtaW4taGVpZ2h0OiBjYWxjKCN7JGJvdHRsZS1oZWlnaHQgLSAkYm90dGxlLW9mZnNldH0gKyAjezIgKiAkZWxlbWVudC1wYWRkaW5nfSk7XG5cdFx0bWFyZ2luOiAkYm90dGxlLW9mZnNldCAkZWxlbWVudC1nYXAgJGVsZW1lbnQtZ2FwO1xuXHRcdHBhZGRpbmc6ICRlbGVtZW50LXBhZGRpbmcgJGVsZW1lbnQtcGFkZGluZyAkZWxlbWVudC1wYWRkaW5nIGNhbGMoI3syICogJGVsZW1lbnQtcGFkZGluZ30gKyAjeyRib3R0bGUtd2lkdGh9KTtcblx0XHRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ncmF5O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ji5uby1yZXN1bHRzIHtcblx0XHRcdGZsZXg6IDEgMSAxMDAlO1xuXHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogM2VtIDA7XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stdGl0bGU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxLjRlbTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1zZXJpZjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRtYXJnaW46IDAuNWVtIDAgMDtcblx0XHR9XG5cblx0XHQuYm90dGxlIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDFlbTtcblx0XHRcdHRvcDogY2FsYygxZW0gLSAjeyRib3R0bGUtb2Zmc2V0fSk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogJGJvdHRsZS13aWR0aDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiAkYm90dGxlLWhlaWdodDtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdGZpbHRlcjogZHJvcC1zaGFkb3coMC4ycmVtIDAuMnJlbSAwLjVyZW0gcmdiYSgwLDAsMCwwLjMpKVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5uYW1lIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0fVxuXG5cdFx0LnllYXIge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXNlcmlmO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cblx0XHRcdCY6ZW1wdHkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zdWJ0aXRsZSB7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stc2VyaWY7XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0JjplbXB0eSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmdyYXBlcyB7XG5cdFx0XHRmbGV4OiAwO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXNhbnM7XG5cdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0fVxuXHR9XG5cblx0LmxhYmVsIHtcblx0XHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stdGl0bGU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtbXMtaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMTBweCAwIDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4jYWN0aW9ucyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXNhbnM7XG5cblx0LmJ0biB7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1wb2ludC10YWJsZXQpIHtcblx0I3dpbmUtbGlzdCBsaSB7XG5cdFx0ZmxleDogMSAxIGNhbGMoNTAlIC0gMmVtKTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1wb2ludC1zbWFsbC1kZXNrdG9wKSB7XG5cdCRwYWRkaW5nOiAxLjVlbTtcblx0JGJvdHRsZS13aWR0aDogODBweDtcblx0JGJvdHRsZS1oZWlnaHQ6IDI1MHB4O1xuXHQkYm90dGxlLW9mZnNldDogNjBweDtcblx0JGVsZW1lbnQtZ2FwOiAxZW07XG5cblx0I3NlYXJjaCB7XG5cdFx0cGFkZGluZzogMmVtO1xuXHR9XG5cblx0I3dpbmUtbGlzdCB7XG5cdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cblx0XHRsaSB7XG5cdFx0XHRtYXJnaW46ICRib3R0bGUtb2Zmc2V0ICRlbGVtZW50LWdhcCAkZWxlbWVudC1nYXA7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZyAkcGFkZGluZyAkcGFkZGluZyBjYWxjKCN7MiAqICRwYWRkaW5nfSArICN7JGJvdHRsZS13aWR0aH0pO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCN7JGJvdHRsZS1oZWlnaHQgLSAkYm90dGxlLW9mZnNldH0gKyAjezIgKiAkcGFkZGluZ30pO1xuXG5cdFx0XHQuYm90dGxlIHtcblx0XHRcdFx0d2lkdGg6ICRib3R0bGUtd2lkdGg7XG5cdFx0XHRcdHRvcDogY2FsYygjeyRwYWRkaW5nfSAtICN7JGJvdHRsZS1vZmZzZXR9KTtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGhlaWdodDogJGJvdHRsZS1oZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstcG9pbnQtZGVza3RvcCkge1xuXHQjd2luZS1saXN0IGxpIHtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKDMzLjMlIC0gMmVtKTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMzMuMyUgLSAyZW0pO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXBvaW50LXdpZGUpIHtcblx0I3dpbmUtbGlzdCB7XG5cdFx0bGkge1xuXHRcdFx0ZmxleC1iYXNpczogY2FsYygyNSUgLSAyZW0pO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI1JSAtIDJlbSk7XG5cdFx0fVxuXG5cdFx0LmxhYmVsIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXBvaW50LXZlcnktd2lkZSkge1xuXHQjd2luZS1saXN0IHtcblx0XHRsaSB7XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDJlbSk7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjAlIC0gMmVtKTtcblx0XHR9XG5cblx0XHQubGFiZWwge1xuXHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstcG9pbnQtdWx0cmEtd2lkZSkge1xuXHQjd2luZS1saXN0IGxpIHtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKDE2LjYlIC0gMmVtKTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTYuNiUgLSAyZW0pO1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvY3NzL193aW5lLWxpc3Quc2NzcyIsIiNsb2dpbmZvcm0ge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG5cbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL2Nzcy9fbG9naW4uc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/