@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");
body.royal_preloader {
  background: none;
  visibility: hidden; }

#royal_preloader {
  font-family: Arial;
  font-size: 12px;
  visibility: visible;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto;
  margin: 0;
  z-index: 9999999999; }

#royal_preloader.royal_preloader_number:before,
#royal_preloader.royal_preloader_progress:before {
  content: ‘’;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: -webkit-radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
  background-image: -moz-radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
  background-image: -ms-radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
  background-image: -o-radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01)); }

#royal_preloader.complete {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear 0.5s;
  -moz-transition: opacity 0.2s linear 0.5s;
  -ms-transition: opacity 0.2s linear 0.5s;
  -o-transition: opacity 0.2s linear 0.5s;
  transition: opacity 0.2s linear 0.5s; }

#royal_preloader.royal_preloader_line {
  height: 2px;
  bottom: auto; }

/* Number Mode */
#royal_preloader.royal_preloader_number .royal_preloader_percentage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100px;
  height: 100px;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  line-height: 100px;
  font-size: 20px;
  font-family: Impact, Arial;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
  text-align: center; }

#royal_preloader.royal_preloader_number .royal_preloader_percentage > div {
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  border: 4px solid transparent;
  border-left-color: #FFFFFF;
  border-radius: 50%;
  -webkit-animation: rotate 0.8s linear infinite;
  -moz-animation: rotate 0.8s linear infinite;
  -ms-animation: rotate 0.8s linear infinite;
  -o-animation: rotate 0.8s linear infinite;
  animation: rotate 0.8s linear infinite; }

/* Line Mode */
#royal_preloader.royal_preloader_line .royal_preloader_loader {
  position: absolute;
  height: 100%;
  left: 0; }

#royal_preloader.royal_preloader_line .royal_preloader_peg {
  position: absolute;
  right: 0;
  height: 100%;
  width: 100px;
  opacity: 0.5; }

/* Text Mode */
#royal_preloader.royal_preloader_text .royal_preloader_loader {
  color: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  height: 30px;
  line-height: 30px;
  margin: auto;
  letter-spacing: 3px;
  font-size: 16px;
  white-space: nowrap; }

#royal_preloader.royal_preloader_text .royal_preloader_loader div {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0%;
  background-color: #000000;
  opacity: 0.7;
  filter: alpha(opacity=70); }

/* Scale Text Mode */
#royal_preloader.royal_preloader_scale_text .royal_preloader_loader {
  color: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  height: 30px;
  line-height: 30px;
  margin: auto;
  letter-spacing: 3px;
  font-size: 16px;
  white-space: nowrap; }

#royal_preloader.royal_preloader_scale_text .royal_preloader_loader span {
  display: inline-block;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0); }

#royal_preloader.royal_preloader_scale_text .royal_preloader_loader span.loaded {
  -webkit-animation: scale 0.2s forwards;
  -moz-animation: scale 0.2s forwards;
  -ms-animation: scale 0.2s forwards;
  -o-animation: scale 0.2s forwards;
  animation: scale 0.2s forwards; }

/* Logo Mode */
#royal_preloader.royal_preloader_logo .royal_preloader_loader {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: 0px;
  overflow: hidden;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 100%;
  border-radius: 5px; }

#royal_preloader.royal_preloader_logo .royal_preloader_loader div {
  position: absolute;
  bottom: 0%;
  left: 0px;
  right: 0px;
  height: 100%;
  opacity: 0.7;
  filter: alpha(opacity=70); }

#royal_preloader.royal_preloader_logo .royal_preloader_percentage {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 40px;
  line-height: 40px;
  margin: 0px;
  color: #072E77;
  text-align: center;
  font-family: Arial;
  font-size: 12px;
  font-weight: bold; }

/* Progress Mode */
#royal_preloader.royal_preloader_progress .royal_preloader_percentage {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  color: #AAAAAA;
  color: rgba(255, 255, 255, 0.1);
  font-family: Impact, Arial;
  font-size: 20px;
  text-align: center; }

#royal_preloader.royal_preloader_progress .royal_preloader_loader {
  content: ‘’;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 60%;
  height: 2px;
  margin: -10px auto auto auto;
  background-color: rgba(0, 0, 0, 0.1); }

#royal_preloader.royal_preloader_progress .royal_preloader_meter {
  width: 0;
  height: 100%;
  margin: auto;
  padding: 0;
  background-color: #C76363; }

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

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

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

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

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

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(0);
    opacity: 0; }
  50% {
    -webkit-transform: scale(2);
    opacity: 0.5; }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@-moz-keyframes scale {
  0% {
    -moz-transform: scale(0);
    opacity: 0; }
  50% {
    -moz-transform: scale(2);
    opacity: 0.5; }
  100% {
    -moz-transform: scale(1);
    opacity: 1; } }

@-ms-keyframes scale {
  0% {
    -ms-transform: scale(0);
    opacity: 0; }
  50% {
    -ms-transform: scale(2);
    opacity: 0.5; }
  100% {
    -ms-transform: scale(1);
    opacity: 1; } }

@-o-keyframes scale {
  0% {
    -o-transform: scale(0);
    opacity: 0; }
  50% {
    -o-transform: scale(2);
    opacity: 0.5; }
  100% {
    -o-transform: scale(1);
    opacity: 1; } }

@keyframes scale {
  0% {
    transform: scale(0);
    opacity: 0; }
  50% {
    transform: scale(2);
    opacity: 0.5; }
  100% {
    transform: scale(1);
    opacity: 1; } }

/*!
 * Bootstrap v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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: #8c0c33;
  --secondary: #1e1e1e;
  --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: "Open Sans", sans-serif;
  --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: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff; }

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

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

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

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

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

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

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

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

dt {
  font-weight: 700; }

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

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #8c0c33;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #460619;
    text-decoration: underline; }

a:not([href]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):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; }

figure {
  margin: 0 0 1rem; }

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

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

table {
  border-collapse: collapse; }

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

th {
  text-align: inherit; }

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

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

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

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

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

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

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

progress {
  vertical-align: baseline; }

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

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

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

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

output {
  display: inline-block; }

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

template {
  display: none; }

[hidden] {
  display: none !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

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

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

.figure {
  display: inline-block; }

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

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

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

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529; }
  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 {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .table tbody + tbody {
    border-top: 2px solid #dee2e6; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table-dark {
  color: #fff;
  background-color: #343a40; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #454d55; }
  .table-dark.table-bordered {
    border: 0; }
  .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

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

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

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

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

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

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0;
  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: #ed2b66;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

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

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

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

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

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

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

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

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

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

textarea.form-control {
  height: auto; }

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

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

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

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

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem; }
  .form-check-input[disabled] ~ .form-check-label,
  .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

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

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

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

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

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

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

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

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.3125rem);
  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") no-repeat right 0.75rem center/8px 10px, 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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

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

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

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

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

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

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

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

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

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

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

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

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

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.3125rem);
  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") no-repeat right 0.75rem center/8px 10px, 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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

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

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

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

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

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

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

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

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

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

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      transition: none; } }
  .btn:hover {
    color: #212529;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }

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

.btn-primary {
  color: #fff;
  background-color: #8c0c33;
  border-color: #8c0c33; }
  .btn-primary:hover {
    color: #fff;
    background-color: #690926;
    border-color: #5d0822; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #690926;
    border-color: #5d0822;
    box-shadow: 0 0 0 0.2rem rgba(157, 48, 82, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #8c0c33;
    border-color: #8c0c33; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #5d0822;
    border-color: #51071e; }
    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(157, 48, 82, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #1e1e1e;
  border-color: #1e1e1e; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #0b0b0b;
    border-color: #050505; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #0b0b0b;
    border-color: #050505;
    box-shadow: 0 0 0 0.2rem rgba(64, 64, 64, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #1e1e1e;
    border-color: #1e1e1e; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #050505;
    border-color: black; }
    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(64, 64, 64, 0.5); }

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745; }
  .btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
  .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f; }
    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107; }
  .btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00; }
  .btn-warning:focus, .btn-warning.focus {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
  .show > .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500; }
    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
  .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5; }
  .btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df; }
    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40; }
  .btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124; }
  .btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d; }
    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.btn-outline-primary {
  color: #8c0c33;
  border-color: #8c0c33; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #8c0c33;
    border-color: #8c0c33; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #8c0c33;
    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: #8c0c33;
    border-color: #8c0c33; }
    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.5); }

.btn-outline-secondary {
  color: #1e1e1e;
  border-color: #1e1e1e; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #1e1e1e;
    border-color: #1e1e1e; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(30, 30, 30, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #1e1e1e;
    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: #1e1e1e;
    border-color: #1e1e1e; }
    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(30, 30, 30, 0.5); }

.btn-outline-success {
  color: #28a745;
  border-color: #28a745; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent; }
  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8; }
  .btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent; }
  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107; }
  .btn-outline-warning:hover {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent; }
  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545; }
  .btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent; }
  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent; }
  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40; }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent; }
  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.btn-link {
  font-weight: 400;
  color: #8c0c33;
  text-decoration: none; }
  .btn-link:hover {
    color: #460619;
    text-decoration: underline; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline;
    box-shadow: none; }
  .btn-link:disabled, .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

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

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

.btn-block {
  display: block;
  width: 100%; }
  .btn-block + .btn-block {
    margin-top: 0.5rem; }

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

.fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #8c0c33; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

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

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

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

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 1; }

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .btn-toolbar .input-group {
    width: auto; }

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

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem; }
  .dropdown-toggle-split::after,
  .dropup .dropdown-toggle-split::after,
  .dropright .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .dropdown-toggle-split::before {
    margin-right: 0; }

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

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

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  .btn-group-vertical > .btn,
  .btn-group-vertical > .btn-group {
    width: 100%; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; }

.btn-group-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 0%;
    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 > .custom-file {
    display: flex;
    align-items: center; }

.input-group-prepend,
.input-group-append {
  display: flex; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .input-group-prepend .btn:focus,
    .input-group-append .btn:focus {
      z-index: 3; }
  .input-group-prepend .btn + .btn,
  .input-group-prepend .btn + .input-group-text,
  .input-group-prepend .input-group-text + .input-group-text,
  .input-group-prepend .input-group-text + .btn,
  .input-group-append .btn + .btn,
  .input-group-append .btn + .input-group-text,
  .input-group-append .input-group-text + .input-group-text,
  .input-group-append .input-group-text + .btn {
    margin-left: -1px; }

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

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

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

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

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem; }

.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: #8c0c33;
    background-color: #8c0c33; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #ed2b66; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #f15a88;
    border-color: #f15a88; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px; }
  .custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50% / 50% 50%; }

.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: #8c0c33;
  background-color: #8c0c33; }

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

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(140, 12, 51, 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(140, 12, 51, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: calc(0.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(140, 12, 51, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0;
  appearance: none; }
  .custom-select:focus {
    border-color: #ed2b66;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
    .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057; }

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

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

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #ed2b66;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

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

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .custom-range:focus {
    outline: none; }
    .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #8c0c33;
    border: 0;
    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: #f15a88; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #8c0c33;
    border: 0;
    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: #f15a88; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #8c0c33;
    border: 0;
    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: #f15a88; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dee2e6; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      transition: none; } }

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

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent; }
    .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; }

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

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

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

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

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

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

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

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

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

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent; }
  .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: no-repeat center center;
  background-size: 100% 100%; }

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

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

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

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

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

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

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

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

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: 0.5rem;
      padding-left: 0.5rem; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    flex-wrap: nowrap; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }

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

.navbar-light .navbar-nav .nav-link {
  color: #8c0c33; }
  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: #8c0c33; }
  .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: #8c0c33; }

.navbar-light .navbar-toggler {
  color: #8c0c33;
  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='%238c0c33' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

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

.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(255, 255, 255, 0.5)' 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); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }

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

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

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

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

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

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

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .card-header + .list-group .list-group-item:first-child {
    border-top: 0; }

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

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

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

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

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

.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-columns .card {
  margin-bottom: 0.75rem; }

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

.accordion > .card {
  overflow: hidden; }
  .accordion > .card:not(:last-of-type) {
    border-bottom: 0; }
  .accordion > .card > .card-header {
    margin-bottom: -1px; }

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

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

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

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

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

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none; }

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #8c0c33;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:hover {
    z-index: 2;
    color: #460619;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0; }

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

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

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

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

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .badge {
      transition: none; } }
  a.badge:hover, a.badge:focus {
    text-decoration: none; }
  .badge:empty {
    display: none; }

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

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em; }

.badge-primary {
  color: #fff;
  background-color: #8c0c33; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: #5d0822; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(140, 12, 51, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #1e1e1e; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #050505; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(30, 30, 30, 0.5); }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  a.badge-success:hover, a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.badge-info:hover, a.badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #212529;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #212529;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.badge-danger:hover, a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  a.badge-light:hover, a.badge-light:focus {
    color: #212529;
    background-color: #dae0e5; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #343a40; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: #1d2124; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef; }
  @media (min-width: 576px) {
    .jumbotron {
      padding: 4rem 2rem; } }

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

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

.alert-heading {
  color: inherit; }

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

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

.alert-primary {
  color: #49061b;
  background-color: #e8ced6;
  border-color: #dfbbc6; }
  .alert-primary hr {
    border-top-color: #d7aab7; }
  .alert-primary .alert-link {
    color: #1a020a; }

.alert-secondary {
  color: #101010;
  background-color: #d2d2d2;
  border-color: silver; }
  .alert-secondary hr {
    border-top-color: #b3b3b3; }
  .alert-secondary .alert-link {
    color: black; }

.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;
  font-size: 0.75rem;
  background-color: #e9ecef; }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #8c0c33;
  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: progress-bar-stripes 1s linear infinite; }
  @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; }

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

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #8c0c33;
    border-color: #8c0c33; }
  .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.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.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.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.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.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 .list-group-item {
  border-right-width: 0;
  border-left-width: 0; }
  .list-group-flush .list-group-item:first-child {
    border-top-width: 0; }

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

.list-group-item-primary {
  color: #49061b;
  background-color: #dfbbc6; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #49061b;
    background-color: #d7aab7; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #49061b;
    border-color: #49061b; }

.list-group-item-secondary {
  color: #101010;
  background-color: silver; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #101010;
    background-color: #b3b3b3; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #101010;
    border-color: #101010; }

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

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

.toast {
  max-width: 350px;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  opacity: 0; }
  .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .toast.showing {
    opacity: 1; }
  .toast.show {
    display: block;
    opacity: 1; }
  .toast.hide {
    display: none; }

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

.toast-body {
  padding: 0.75rem; }

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

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        transition: none; } }
  .modal.show .modal-dialog {
    transform: none; }
  .modal.modal-static .modal-dialog {
    transform: scale(1.02); }

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    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);
  outline: 0; }

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

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6; }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

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

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

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6; }
  .modal-footer > * {
    margin: 0.25rem; }

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

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem); }
  .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: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 0.9; }
  .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

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

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2); }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .popover .arrow::before, .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb; }
  .popover-header:empty {
    display: none; }

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

.carousel {
  position: relative; }

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

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      transition: none; } }

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

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

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

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

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

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      transition: none; } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

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

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

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

.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: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite; }

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

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

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

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

.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: #8c0c33 !important; }

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

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

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #050505 !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: #8c0c33 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important; }

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

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

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

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

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

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

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

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

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important; }

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important; }

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

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

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

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

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

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

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

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

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

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

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

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

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

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

.pl-2,
.px-2 {
  padding-left: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

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

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

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

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

.p-4 {
  padding: 1.5rem !important; }

.pt-4,
.py-4 {
  padding-top: 1.5rem !important; }

.pr-4,
.px-4 {
  padding-right: 1.5rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important; }

.pl-4,
.px-4 {
  padding-left: 1.5rem !important; }

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

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

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

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

.pl-5,
.px-5 {
  padding-left: 3rem !important; }

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

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

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

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

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

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

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

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

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

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important; }

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

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

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

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

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

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

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

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

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important; }

.m-n5 {
  margin: -3rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -3rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important; }

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

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

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

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

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

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

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -0.5rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -1.5rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -0.5rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -1.5rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -0.5rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -1.5rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -0.5rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -1.5rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

.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: #8c0c33 !important; }

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

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

a.text-secondary:hover, a.text-secondary:focus {
  color: black !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;
  overflow-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; } }

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/
body {
  -webkit-backface-visibility: hidden; }

.animated {
  -webkit-animation-duration: calc( 1s);
  animation-duration: calc( 1s);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .animated.infinite {
    animation-iteration-count: infinite; }
  .animated.hinge {
    -webkit-animation-duration: calc( 1s * 2);
    animation-duration: calc( 1s * 2); }
  .animated.bounceIn, .animated.bounceOut {
    -webkit-animation-duration: calc( 1s * 0.75);
    animation-duration: calc( 1s * 0.75); }
  .animated.flipOutX, .animated.flipOutY {
    -webkit-animation-duration: calc( 1s * 0.75);
    animation-duration: calc( 1s * 0.75); }

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px); } }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); }
  40% {
    transform: translateY(-30px); }
  60% {
    transform: translateY(-15px); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce; }

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes pulse {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    transform: translateX(10px); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    transform: rotate(15deg); }
  40% {
    transform: rotate(-10deg); }
  60% {
    transform: rotate(5deg); }
  80% {
    transform: rotate(-5deg); }
  100% {
    transform: rotate(0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    transform: skewX(9deg); }
  10% {
    transform: skewX(-8deg); }
  20% {
    transform: skewX(7deg); }
  30% {
    transform: skewX(-6deg); }
  40% {
    transform: skewX(5deg); }
  50% {
    transform: skewX(-4deg); }
  60% {
    transform: skewX(3deg); }
  70% {
    transform: skewX(-2deg); }
  80% {
    transform: skewX(1deg); }
  90% {
    transform: skewX(0deg); }
  100% {
    transform: skewX(0deg); } }

.wiggle {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    transform: translateX(0%); }
  15% {
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    transform: translateX(20%) rotate(3deg); }
  45% {
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    transform: translateX(10%) rotate(2deg); }
  75% {
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    transform: translateX(0%); } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    transform: scale(1); }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg); }
  100% {
    transform: scale(1) rotate(0); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3); }
  50% {
    opacity: 1;
    transform: scale(1.05); }
  70% {
    transform: scale(0.9); }
  100% {
    transform: scale(1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    transform: translateY(30px); }
  80% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    transform: translateX(30px); }
  80% {
    transform: translateX(-10px); }
  100% {
    transform: translateX(0); } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    transform: translateX(-30px); }
  80% {
    transform: translateX(10px); }
  100% {
    transform: translateX(0); } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    transform: translateY(-30px); }
  80% {
    transform: translateY(10px); }
  100% {
    transform: translateY(0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    transform: scale(1); }
  25% {
    transform: scale(0.95); }
  50% {
    opacity: 1;
    transform: scale(1.1); }
  100% {
    opacity: 0;
    transform: scale(0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    transform: translateY(0); }
  20% {
    opacity: 1;
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    transform: translateY(2000px); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    transform: translateX(0); }
  20% {
    opacity: 1;
    transform: translateX(20px); }
  100% {
    opacity: 0;
    transform: translateX(-2000px); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    transform: translateX(0); }
  20% {
    opacity: 1;
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    transform: translateX(2000px); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    transform: translateY(0); }
  20% {
    opacity: 1;
    transform: translateY(20px); }
  100% {
    opacity: 0;
    transform: translateY(-2000px); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(20px); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(2000px); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(-20px); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(-2000px); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(20px); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(2000px); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(-20px); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(-2000px); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in; }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in; } }

.flip {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    transform: perspective(400px) rotateX(10deg); }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    transform: perspective(400px) rotateY(10deg); }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  0% {
    transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  0% {
    transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  0% {
    transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  0% {
    transform: translate3d(0, 0, 0);
    visibility: visible; }
  100% {
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    opacity: 0; } }

@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  100% {
    transform: translateY(700px);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg); } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  0% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

@keyframes zoomOut {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  100% {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  100% {
    opacity: 0;
    transform: scale3d(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  100% {
    opacity: 0;
    transform: scale3d(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  100% {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: #000;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: #000;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #000;
      opacity: 0.75; }

body.compensate-for-scrollbar {
  overflow: hidden; }

.fancybox-active {
  height: auto; }

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden; }

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992; }

.fancybox-container * {
  box-sizing: border-box; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: .9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity .25s ease, visibility 0s ease .25s;
  visibility: hidden;
  z-index: 99997; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity .25s ease 0s, visibility 0s ease 0s;
  visibility: visible; }

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-toolbar {
  right: 0;
  top: 0; }

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994; }

.fancybox-is-open .fancybox-stage {
  overflow: hidden; }

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--html {
  padding: 6px; }

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle; }

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995; }

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in; }

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-container [data-selectable='true'] {
  cursor: text; }

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%; }

.fancybox-slide--video .fancybox-content {
  background: #000; }

.fancybox-slide--map .fancybox-content {
  background: #e5e3df; }

.fancybox-slide--iframe .fancybox-content {
  background: #fff; }

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%; }

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0; }

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%; }

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0; }

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color .2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:hover {
  color: #fff; }

.fancybox-button:focus {
  outline: none; }

.fancybox-button.fancybox-focus {
  outline: 1px dotted; }

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none; }

/* Fix IE11 */
.fancybox-button div {
  height: 100%; }

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%; }

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0; }

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none; }

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none; }

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: .8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401; }

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1; }

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0; }

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none; }

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px; }

.fancybox-navigation .fancybox-button div {
  padding: 7px; }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px; }

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right); }

/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996; }

@supports (padding: 0px) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left)); } }

.fancybox-caption--separate {
  margin-top: -50px; }

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all; }

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none; }

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: .7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999; }

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1); }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg); }

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg); }

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg); }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1); }

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px; }
  .fancybox-slide--image {
    padding: 6px 0; }
  .fancybox-close-small {
    right: -6px; }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px; }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px; }
  @supports (padding: 0px) {
    .fancybox-caption {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right)); } } }

/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%; }

/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%; }

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px; }

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991; }

.fancybox-thumbs__list a:focus::before {
  opacity: .5; }

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px); } }

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: auto;
  background-color: white; }
  header .holder {
    background: #fff;
    border-bottom: 1px solid #d5d5d5;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease; }
  header .logo {
    z-index: 999;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease; }

.quickcontact {
  color: #000;
  font-size: 13px;
  font-weight: 400;
  margin-top: 31px;
  letter-spacing: 1.2px;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease; }
  .quickcontact .vert-sep {
    margin: 0 10px; }
  .quickcontact a {
    position: relative;
    text-decoration: none;
    color: #000; }
    .quickcontact a:hover, .quickcontact a:focus, .quickcontact a:active {
      color: #6c6c6c;
      text-decoration: none; }
      .quickcontact a:hover:before, .quickcontact a:focus:before, .quickcontact a:active:before {
        visibility: visible;
        -moz-transform: scaleX(1);
        -ms-transform: scaleX(1);
        -webkit-transform: scaleX(1);
        transform: scaleX(1); }
    .quickcontact a:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      bottom: 0;
      left: 0;
      background-color: #6c6c6c;
      visibility: hidden;
      -moz-transform: scaleX(0);
      -ms-transform: scaleX(0);
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -moz-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      -webkit-transition: all 0.4s ease;
      transition: all 0.4s ease; }

.sticky .quickcontact {
  margin-top: 15px; }

.navbar-collapse {
  padding-left: 0;
  padding-right: 0;
  margin-top: 45px;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease; }

.navbar-nav > li {
  display: inline-block;
  padding-bottom: 17px;
  padding-right: 29px; }
  .navbar-nav > li:last-of-type {
    padding-right: 0; }
  .navbar-nav > li a {
    color: #8c0c33;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    position: relative;
    letter-spacing: 1.4px; }
    .navbar-nav > li a:after {
      content: '';
      display: block;
      margin: 4px auto auto;
      height: 2px;
      width: 0;
      background: transparent;
      transition: 0.4s; }
      @media (prefers-reduced-motion: reduce) {
        .navbar-nav > li a:after {
          transition: none; } }
  .navbar-nav > li .dropdown-toggle::after {
    border: 0; }
  .navbar-nav > li.active a:after {
    width: 100%;
    background: #8c0c33; }

.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus,
.navbar-nav > li > a:active {
  color: #8c0c33;
  background: none; }
  .navbar-nav > li > a:hover:after,
  .navbar-nav > li > a:focus:after,
  .navbar-nav > li > a:active:after {
    width: 100%;
    background: #8c0c33; }

.sticky .quickcontact {
  margin-top: 0; }

.sticky .navbar-collapse {
  margin-top: 42px; }

.sticky .logo {
  height: 100px; }

.sticky .navbar-nav > li {
  padding-bottom: 10px; }

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

.dropdown .dropdown-item {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
  position: relative;
  transition: padding-left .4s ease-in; }
  .dropdown .dropdown-item:last-of-type {
    padding: 0;
    margin: 0;
    border: 0; }
  .dropdown .dropdown-item:hover {
    padding-left: 15px; }

.dropdown .dropdown-menu {
  margin-top: 0; }
  .dropdown .dropdown-menu a {
    font-weight: normal; }
    .dropdown .dropdown-menu a:before {
      display: none;
      font-family: "Font Awesome 5 Solid";
      content: "\f054"; }
    .dropdown .dropdown-menu a svg {
      position: absolute;
      top: 5px;
      left: -15px;
      visibility: hidden;
      transition: all .4s ease-in; }
    .dropdown .dropdown-menu a:hover svg {
      left: 0;
      visibility: visible; }

header .logo {
  margin: 0;
  height: auto; }

header .navbar-collapse {
  margin-top: 53px; }

@media (max-width: 1199.98px) {
  header .logo {
    height: 110px; }
  header .navbar-collapse {
    margin-top: 51px; } }

@media (max-width: 991.98px) {
  .sticky .navbar-collapse {
    margin-top: 22px; }
  .sticky .logo {
    height: 85px; }
  header .logo {
    height: 85px; }
  header .navbar-collapse {
    margin-top: 35px; } }

@media (max-width: 767.98px) {
  header .logo, .sticky .logo {
    height: 70px; }
  .sticky .navbar-nav > li {
    padding-bottom: 17px; }
  .sticky .navbar-collapse {
    margin-top: 0; }
  #quickcontact-wrapper {
    padding-left: 0;
    padding-right: 0; }
  #mobile-nav-wrapper {
    position: fixed;
    top: 35px;
    width: 100%;
    z-index: 1000;
    left: 65px;
    transition: all ease-in 0.5s; }
    #mobile-nav-wrapper .navbar-toggler {
      padding: 14px;
      background: #fff;
      border: 0; }
      #mobile-nav-wrapper .navbar-toggler .icon-bar {
        display: block;
        height: 2px;
        border-radius: 1px;
        background-color: #8c0c33;
        width: 30px;
        margin-top: 5px;
        transition: all .3s;
        -webkit-transition: all .3s;
        -moz-transition: all .3s; }
      #mobile-nav-wrapper .navbar-toggler .top-bar {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform-origin: 20% 10%;
        -webkit-transform-origin: 20% 10%;
        -moz-transform-origin: 20% 10%;
        -ms-transform-origin: 20% 10%; }
      #mobile-nav-wrapper .navbar-toggler .middle-bar {
        opacity: 0; }
      #mobile-nav-wrapper .navbar-toggler .bottom-bar {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform-origin: 10% 90%;
        -webkit-transform-origin: 10% 90%;
        -ms-transform-origin: 10% 90%;
        -moz-transform-origin: 10% 90%; }
      #mobile-nav-wrapper .navbar-toggler .collapsed .top-bar {
        transform: rotate(0);
        -webkit-transform: rotate(0);
        -moz-transform: rotate(0);
        -ms-transform: rotate(0); }
      #mobile-nav-wrapper .navbar-toggler .collapsed .middle-bar {
        opacity: 1; }
      #mobile-nav-wrapper .navbar-toggler .collapsed .bottom-bar {
        transform: rotate(0);
        -webkit-transform: rotate(0);
        -moz-transform: rotate(0);
        -ms-transform: rotate(0); }
    #mobile-nav-wrapper .left-right {
      background: #fff;
      width: 81%;
      display: inline-block; }
      #mobile-nav-wrapper .left-right .navbar-nav > li:last-of-type {
        padding-bottom: 0; }
    #mobile-nav-wrapper .navbar-nav {
      height: 100vh; }
  .navbar-brand {
    position: relative !important;
    margin-bottom: -14px; }
  header .navbar-collapse {
    margin-top: 0; } }

@media (min-width: 576px) {
  #mobile-nav-wrapper {
    margin-left: auto; } }

footer {
  padding: 125px 0 105px;
  color: #fff;
  background-color: #8c0c33; }
  footer .linkrow {
    text-transform: uppercase;
    margin-top: 28px;
    font-size: 16px; }
    footer .linkrow a {
      text-transform: uppercase; }
  footer a {
    color: #fff; }
    footer a:hover {
      color: #fff; }

.rev-slide {
  position: relative;
  transition: 0.4s; }
  @media (prefers-reduced-motion: reduce) {
    .rev-slide {
      transition: none; } }

.rev_slider {
  overflow: hidden !important; }

.slide-normal {
  margin-top: 138px; }

.holdit .slide-normal {
  margin-top: 100px; }

#map {
  margin-top: 147px; }

.holdit #map {
  margin-top: 100px; }

.slide-head-01 {
  color: #fff;
  font-weight: 500;
  text-transform: uppercase; }

.slide-head-02 {
  color: #fff;
  font-weight: 400;
  text-transform: uppercase; }

.slider-btn {
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.9);
  color: #0076be;
  width: 180px;
  font-size: 18px;
  font-weight: 400;
  text-align: center !important;
  text-transform: uppercase;
  padding: 10px 40px 6px !important;
  transition: 0.6s; }
  @media (prefers-reduced-motion: reduce) {
    .slider-btn {
      transition: none; } }
  .slider-btn:hover {
    background: rgba(0, 118, 190, 0.9);
    color: #fff; }

@media (max-width: 1199.98px) {
  .slide-normal {
    margin-top: 134px; } }

@media (max-width: 991.98px) {
  .slide-normal {
    margin-top: 97px; } }

/*-----------------------------------------------------------------------------

-	Revolution Slider 5.0 Default Style Settings -

Screen Stylesheet

version:   	5.4.5
date:      	15/05/17
author:		themepunch
email:     	info@themepunch.com
website:   	http://www.themepunch.com
-----------------------------------------------------------------------------*/
#debungcontrolls, .debugtimeline {
  width: 100%;
  box-sizing: border-box; }

.rev_column, .rev_column .tp-parallax-wrap, .tp-svg-layer svg {
  vertical-align: top; }

#debungcontrolls {
  z-index: 100000;
  position: fixed;
  bottom: 0;
  height: auto;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px; }

.debugtimeline {
  height: 10px;
  position: relative;
  margin-bottom: 3px;
  display: none;
  white-space: nowrap; }

.debugtimeline:hover {
  height: 15px; }

.the_timeline_tester {
  background: #e74c3c;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0; }

.rs-go-fullscreen {
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 9999999 !important;
  background: #fff !important; }

.debugtimeline.tl_slide .the_timeline_tester {
  background: #f39c12; }

.debugtimeline.tl_frame .the_timeline_tester {
  background: #3498db; }

.debugtimline_txt {
  color: #fff;
  font-weight: 400;
  font-size: 7px;
  position: absolute;
  left: 10px;
  top: 0;
  white-space: nowrap;
  line-height: 10px; }

.rtl {
  direction: rtl; }

@font-face {
  font-family: revicons;
  src: url(../fonts/revicons/revicons.eot?5510888);
  src: url(../fonts/revicons/revicons.eot?5510888#iefix) format("embedded-opentype"), url(../fonts/revicons/revicons.woff?5510888) format("woff"), url(../fonts/revicons/revicons.ttf?5510888) format("truetype"), url(../fonts/revicons/revicons.svg?5510888#revicons) format("svg");
  font-weight: 400;
  font-style: normal; }

[class*=" revicon-"]:before, [class^=revicon-]:before {
  font-family: revicons;
  font-style: normal;
  font-weight: 400;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em; }

.revicon-search-1:before {
  content: '\e802'; }

.revicon-pencil-1:before {
  content: '\e831'; }

.revicon-picture-1:before {
  content: '\e803'; }

.revicon-cancel:before {
  content: '\e80a'; }

.revicon-info-circled:before {
  content: '\e80f'; }

.revicon-trash:before {
  content: '\e801'; }

.revicon-left-dir:before {
  content: '\e817'; }

.revicon-right-dir:before {
  content: '\e818'; }

.revicon-down-open:before {
  content: '\e83b'; }

.revicon-left-open:before {
  content: '\e819'; }

.revicon-right-open:before {
  content: '\e81a'; }

.revicon-angle-left:before {
  content: '\e820'; }

.revicon-angle-right:before {
  content: '\e81d'; }

.revicon-left-big:before {
  content: '\e81f'; }

.revicon-right-big:before {
  content: '\e81e'; }

.revicon-magic:before {
  content: '\e807'; }

.revicon-picture:before {
  content: '\e800'; }

.revicon-export:before {
  content: '\e80b'; }

.revicon-cog:before {
  content: '\e832'; }

.revicon-login:before {
  content: '\e833'; }

.revicon-logout:before {
  content: '\e834'; }

.revicon-video:before {
  content: '\e805'; }

.revicon-arrow-combo:before {
  content: '\e827'; }

.revicon-left-open-1:before {
  content: '\e82a'; }

.revicon-right-open-1:before {
  content: '\e82b'; }

.revicon-left-open-mini:before {
  content: '\e822'; }

.revicon-right-open-mini:before {
  content: '\e823'; }

.revicon-left-open-big:before {
  content: '\e824'; }

.revicon-right-open-big:before {
  content: '\e825'; }

.revicon-left:before {
  content: '\e836'; }

.revicon-right:before {
  content: '\e826'; }

.revicon-ccw:before {
  content: '\e808'; }

.revicon-arrows-ccw:before {
  content: '\e806'; }

.revicon-palette:before {
  content: '\e829'; }

.revicon-list-add:before {
  content: '\e80c'; }

.revicon-doc:before {
  content: '\e809'; }

.revicon-left-open-outline:before {
  content: '\e82e'; }

.revicon-left-open-2:before {
  content: '\e82c'; }

.revicon-right-open-outline:before {
  content: '\e82f'; }

.revicon-right-open-2:before {
  content: '\e82d'; }

.revicon-equalizer:before {
  content: '\e83a'; }

.revicon-layers-alt:before {
  content: '\e804'; }

.revicon-popup:before {
  content: '\e828'; }

.rev_slider_wrapper {
  position: relative;
  z-index: 0;
  width: 100%; }

.rev_slider {
  position: relative;
  overflow: visible; }

.entry-content .rev_slider a, .rev_slider a {
  box-shadow: none; }

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

.group_ov_hidden {
  overflow: hidden; }

.rev_slider img, .tp-simpleresponsive img {
  max-width: none !important;
  transition: none;
  margin: 0;
  padding: 0;
  border: none; }

.rev_slider .no-slides-text {
  font-weight: 700;
  text-align: center;
  padding-top: 80px; }

.rev_slider > ul, .rev_slider > ul > li, .rev_slider > ul > li:before, .rev_slider_wrapper > ul, .tp-revslider-mainul > li, .tp-revslider-mainul > li:before, .tp-simpleresponsive > ul, .tp-simpleresponsive > ul > li, .tp-simpleresponsive > ul > li:before {
  list-style: none !important;
  position: absolute;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: visible;
  overflow-y: visible;
  background-image: none;
  background-position: 0 0;
  text-indent: 0;
  top: 0;
  left: 0; }

.rev_slider > ul > li, .rev_slider > ul > li:before, .tp-revslider-mainul > li, .tp-revslider-mainul > li:before, .tp-simpleresponsive > ul > li, .tp-simpleresponsive > ul > li:before {
  visibility: hidden; }

.tp-revslider-mainul, .tp-revslider-slidesli {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important; }

.fullscreen-container, .fullwidthbanner-container {
  padding: 0;
  position: relative; }

.rev_slider li.tp-revslider-slidesli {
  position: absolute !important; }

.tp-caption .rs-untoggled-content {
  display: block; }

.tp-caption .rs-toggled-content {
  display: none; }

.rs-toggle-content-active.tp-caption .rs-toggled-content {
  display: block; }

.rs-toggle-content-active.tp-caption .rs-untoggled-content {
  display: none; }

.rev_slider .caption, .rev_slider .tp-caption {
  position: relative;
  visibility: hidden;
  white-space: nowrap;
  display: block;
  -webkit-font-smoothing: antialiased !important;
  z-index: 1; }

.rev_slider .caption, .rev_slider .tp-caption, .tp-simpleresponsive img {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none; }

.rev_slider .tp-mask-wrap .tp-caption, .rev_slider .tp-mask-wrap :last-child, .wpb_text_column .rev_slider .tp-mask-wrap .tp-caption, .wpb_text_column .rev_slider .tp-mask-wrap :last-child {
  margin-bottom: 0; }

.tp-svg-layer svg {
  width: 100%;
  height: 100%;
  position: relative; }

.tp-carousel-wrapper {
  cursor: url(openhand.cur), move; }

.tp-carousel-wrapper.dragged {
  cursor: url(closedhand.cur), move; }

.tp_inner_padding {
  box-sizing: border-box;
  max-height: none !important; }

.tp-caption.tp-layer-selectable {
  -moz-user-select: all;
  -khtml-user-select: all;
  -webkit-user-select: all;
  -o-user-select: all; }

.tp-caption.tp-hidden-caption, .tp-forcenotvisible, .tp-hide-revslider, .tp-parallax-wrap.tp-hidden-caption {
  visibility: hidden !important;
  display: none !important; }

.rev_slider audio, .rev_slider embed, .rev_slider iframe, .rev_slider object, .rev_slider video {
  max-width: none !important; }

.tp-element-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }

.tp-blockmask, .tp-blockmask_in, .tp-blockmask_out {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 1000;
  transform: scaleX(0) scaleY(0); }

.tp-parallax-wrap {
  transform-style: preserve-3d; }

.rev_row_zone {
  position: absolute;
  width: 100%;
  left: 0;
  box-sizing: border-box;
  min-height: 50px;
  font-size: 0; }

.rev_column_inner, .rev_slider .tp-caption.rev_row {
  position: relative;
  width: 100% !important;
  box-sizing: border-box; }

.rev_row_zone_top {
  top: 0; }

.rev_row_zone_middle {
  top: 50%;
  transform: translateY(-50%); }

.rev_row_zone_bottom {
  bottom: 0; }

.rev_slider .tp-caption.rev_row {
  display: table;
  table-layout: fixed;
  vertical-align: top;
  height: auto !important;
  font-size: 0; }

.rev_column {
  display: table-cell;
  position: relative;
  height: auto;
  box-sizing: border-box;
  font-size: 0; }

.rev_column_inner {
  display: block;
  height: auto !important;
  white-space: normal !important; }

.rev_column_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  box-sizing: border-box;
  background-clip: content-box;
  border: 0 solid transparent; }

.tp-caption .backcorner, .tp-caption .backcornertop, .tp-caption .frontcorner, .tp-caption .frontcornertop {
  height: 0;
  top: 0;
  width: 0;
  position: absolute; }

.rev_column_inner .tp-loop-wrap, .rev_column_inner .tp-mask-wrap, .rev_column_inner .tp-parallax-wrap {
  text-align: inherit; }

.rev_column_inner .tp-mask-wrap {
  display: inline-block; }

.rev_column_inner .tp-parallax-wrap, .rev_column_inner .tp-parallax-wrap .tp-loop-wrap, .rev_column_inner .tp-parallax-wrap .tp-mask-wrap {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  line-height: 0; }

.tp-video-play-button, .tp-video-play-button i {
  line-height: 50px !important;
  vertical-align: top;
  text-align: center; }

.rev_column_inner .rev_layer_in_column, .rev_column_inner .tp-parallax-wrap, .rev_column_inner .tp-parallax-wrap .tp-loop-wrap, .rev_column_inner .tp-parallax-wrap .tp-mask-wrap {
  vertical-align: top; }

.rev_break_columns {
  display: block !important; }

.rev_break_columns .tp-parallax-wrap.rev_column {
  display: block !important;
  width: 100% !important; }

.fullwidthbanner-container {
  overflow: hidden; }

.fullwidthbanner-container .fullwidthabanner {
  width: 100%;
  position: relative; }

.tp-static-layers {
  position: absolute;
  z-index: 101;
  top: 0;
  left: 0; }

.tp-caption .frontcorner {
  border-left: 40px solid transparent;
  border-right: 0 solid transparent;
  border-top: 40px solid #00A8FF;
  left: -40px; }

.tp-caption .backcorner {
  border-left: 0 solid transparent;
  border-right: 40px solid transparent;
  border-bottom: 40px solid #00A8FF;
  right: 0; }

.tp-caption .frontcornertop {
  border-left: 40px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 40px solid #00A8FF;
  left: -40px; }

.tp-caption .backcornertop {
  border-left: 0 solid transparent;
  border-right: 40px solid transparent;
  border-top: 40px solid #00A8FF;
  right: 0; }

.tp-layer-inner-rotation {
  position: relative !important; }

img.tp-slider-alternative-image {
  width: 100%;
  height: auto; }

.caption.fullscreenvideo, .rs-background-video-layer, .tp-caption.coverscreenvideo, .tp-caption.fullscreenvideo {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute; }

.noFilterClass {
  filter: none !important; }

.rs-background-video-layer {
  visibility: hidden;
  z-index: 0; }

.caption.fullscreenvideo audio, .caption.fullscreenvideo iframe, .caption.fullscreenvideo video, .tp-caption.fullscreenvideo iframe, .tp-caption.fullscreenvideo iframe audio, .tp-caption.fullscreenvideo iframe video {
  width: 100% !important;
  height: 100% !important;
  display: none; }

.fullcoveredvideo audio, .fullscreenvideo audio .fullcoveredvideo video, .fullscreenvideo video {
  background: #000; }

.fullcoveredvideo .tp-poster {
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

.videoisplaying .html5vid .tp-poster {
  display: none; }

.tp-video-play-button {
  background: #000;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #FFF;
  margin-top: -25px;
  margin-left: -25px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  display: inline-block;
  z-index: 4;
  opacity: 0;
  transition: opacity .3s ease-out !important; }

.tp-audio-html5 .tp-video-play-button, .tp-hiddenaudio {
  display: none !important; }

.tp-caption .html5vid {
  width: 100% !important;
  height: 100% !important; }

.tp-video-play-button i {
  width: 50px;
  height: 50px;
  display: inline-block;
  font-size: 40px !important; }

.rs-fullvideo-cover, .tp-dottedoverlay, .tp-shadowcover {
  height: 100%;
  top: 0;
  left: 0;
  position: absolute; }

.tp-caption:hover .tp-video-play-button {
  opacity: 1;
  display: block; }

.tp-caption .tp-revstop {
  display: none;
  border-left: 5px solid #fff !important;
  border-right: 5px solid #fff !important;
  margin-top: 15px !important;
  line-height: 20px !important;
  vertical-align: top;
  font-size: 25px !important; }

.tp-seek-bar, .tp-video-button, .tp-volume-bar {
  outline: 0;
  line-height: 12px;
  margin: 0;
  cursor: pointer; }

.videoisplaying .revicon-right-dir {
  display: none; }

.videoisplaying .tp-revstop {
  display: inline-block; }

.videoisplaying .tp-video-play-button {
  display: none; }

.fullcoveredvideo .tp-video-play-button {
  display: none !important; }

.fullscreenvideo .fullscreenvideo audio, .fullscreenvideo .fullscreenvideo video {
  object-fit: contain !important; }

.fullscreenvideo .fullcoveredvideo audio, .fullscreenvideo .fullcoveredvideo video {
  object-fit: cover !important; }

.tp-video-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 5px;
  opacity: 0;
  transition: opacity .3s;
  background-image: linear-gradient(to bottom, #000 13%, #323232 100%);
  display: table;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box; }

.rev-btn.rev-hiddenicon i, .rev-btn.rev-withicon i {
  transition: all .2s ease-out !important;
  font-size: 15px; }

.tp-caption:hover .tp-video-controls {
  opacity: .9; }

.tp-video-button {
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-radius: 3px;
  font-size: 12px;
  color: #fff;
  padding: 0; }

.tp-video-button:hover {
  cursor: pointer; }

.tp-video-button-wrap, .tp-video-seek-bar-wrap, .tp-video-vol-bar-wrap {
  padding: 0 5px;
  display: table-cell;
  vertical-align: middle; }

.tp-video-seek-bar-wrap {
  width: 80%; }

.tp-video-vol-bar-wrap {
  width: 20%; }

.tp-seek-bar, .tp-volume-bar {
  width: 100%;
  padding: 0; }

.rs-fullvideo-cover {
  width: 100%;
  background: 0 0;
  z-index: 5; }

.disabled_lc .tp-video-play-button, .rs-background-video-layer audio::-webkit-media-controls, .rs-background-video-layer video::-webkit-media-controls, .rs-background-video-layer video::-webkit-media-controls-start-playback-button {
  display: none !important; }

.tp-audio-html5 .tp-video-controls {
  opacity: 1 !important;
  visibility: visible !important; }

.tp-dottedoverlay {
  background-repeat: repeat;
  width: 100%;
  z-index: 3; }

.tp-dottedoverlay.twoxtwo {
  background: url(../assets/gridtile.png); }

.tp-dottedoverlay.twoxtwowhite {
  background: url(../assets/gridtile_white.png); }

.tp-dottedoverlay.threexthree {
  background: url(../assets/gridtile_3x3.png); }

.tp-dottedoverlay.threexthreewhite {
  background: url(../assets/gridtile_3x3_white.png); }

.tp-shadowcover {
  width: 100%;
  background: #fff;
  z-index: -1; }

.tp-shadow1 {
  box-shadow: 0 10px 6px -6px rgba(0, 0, 0, 0.8); }

.tp-shadow2:after, .tp-shadow2:before, .tp-shadow3:before, .tp-shadow4:after {
  z-index: -2;
  position: absolute;
  content: "";
  bottom: 10px;
  left: 10px;
  width: 50%;
  top: 85%;
  max-width: 300px;
  background: 0 0;
  box-shadow: 0 15px 10px rgba(0, 0, 0, 0.8);
  transform: rotate(-3deg); }

.tp-shadow2:after, .tp-shadow4:after {
  transform: rotate(3deg);
  right: 10px;
  left: auto; }

.tp-shadow5 {
  position: relative;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; }

.tp-shadow5:after, .tp-shadow5:before {
  content: "";
  position: absolute;
  z-index: -2;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.6);
  top: 30%;
  bottom: 0;
  left: 20px;
  right: 20px;
  border-radius: 100px/20px; }

.tp-button {
  padding: 6px 13px 5px;
  border-radius: 3px;
  height: 30px;
  cursor: pointer;
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6) !important;
  font-size: 15px;
  line-height: 45px !important;
  font-family: arial, sans-serif;
  font-weight: 700;
  letter-spacing: -1px;
  text-decoration: none; }

.tp-button.big {
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
  font-weight: 700;
  padding: 9px 20px;
  font-size: 19px;
  line-height: 57px !important; }

.purchase:hover, .tp-button.big:hover, .tp-button:hover {
  background-position: bottom, 15px 11px; }

.purchase.green, .purchase:hover.green, .tp-button.green, .tp-button:hover.green {
  background-color: #21a117;
  box-shadow: 0 3px 0 0 #104d0b; }

.purchase.blue, .purchase:hover.blue, .tp-button.blue, .tp-button:hover.blue {
  background-color: #1d78cb;
  box-shadow: 0 3px 0 0 #0f3e68; }

.purchase.red, .purchase:hover.red, .tp-button.red, .tp-button:hover.red {
  background-color: #cb1d1d;
  box-shadow: 0 3px 0 0 #7c1212; }

.purchase.orange, .purchase:hover.orange, .tp-button.orange, .tp-button:hover.orange {
  background-color: #f70;
  box-shadow: 0 3px 0 0 #a34c00; }

.purchase.darkgrey, .purchase:hover.darkgrey, .tp-button.darkgrey, .tp-button.grey, .tp-button:hover.darkgrey, .tp-button:hover.grey {
  background-color: #555;
  box-shadow: 0 3px 0 0 #222; }

.purchase.lightgrey, .purchase:hover.lightgrey, .tp-button.lightgrey, .tp-button:hover.lightgrey {
  background-color: #888;
  box-shadow: 0 3px 0 0 #555; }

.rev-btn, .rev-btn:visited {
  outline: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 44px;
  font-size: 17px;
  font-weight: 500;
  padding: 12px 35px;
  box-sizing: border-box;
  font-family: Roboto, sans-serif;
  cursor: pointer; }

.rev-btn.rev-uppercase, .rev-btn.rev-uppercase:visited {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 15px;
  font-weight: 900; }

.rev-btn.rev-withicon i {
  font-weight: 400;
  position: relative;
  top: 0;
  margin-left: 10px !important; }

.rev-btn.rev-hiddenicon i {
  font-weight: 400;
  position: relative;
  top: 0;
  opacity: 0;
  margin-left: 0 !important;
  width: 0 !important; }

.rev-btn.rev-hiddenicon:hover i {
  opacity: 1 !important;
  margin-left: 10px !important;
  width: auto !important; }

.rev-btn.rev-medium, .rev-btn.rev-medium:visited {
  line-height: 36px;
  font-size: 14px;
  padding: 10px 30px; }

.rev-btn.rev-medium.rev-hiddenicon i, .rev-btn.rev-medium.rev-withicon i {
  font-size: 14px;
  top: 0; }

.rev-btn.rev-small, .rev-btn.rev-small:visited {
  line-height: 28px;
  font-size: 12px;
  padding: 7px 20px; }

.rev-btn.rev-small.rev-hiddenicon i, .rev-btn.rev-small.rev-withicon i {
  font-size: 12px;
  top: 0; }

.rev-maxround {
  border-radius: 30px; }

.rev-minround {
  border-radius: 3px; }

.rev-burger {
  position: relative;
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  padding: 22px 0 0 14px;
  border-radius: 50%;
  border: 1px solid rgba(51, 51, 51, 0.25);
  -webkit-tap-highlight-color: transparent;
  cursor: pointer; }

.rev-burger span {
  display: block;
  width: 30px;
  height: 3px;
  background: #333;
  transition: .7s;
  pointer-events: none;
  transform-style: flat !important; }

.rev-burger.revb-white span, .rev-burger.revb-whitenoborder span {
  background: #fff; }

.rev-burger span:nth-child(2) {
  margin: 3px 0; }

#dialog_addbutton .rev-burger:hover :first-child, .open .rev-burger :first-child, .open.rev-burger :first-child {
  transform: translateY(6px) rotate(-45deg); }

#dialog_addbutton .rev-burger:hover :nth-child(2), .open .rev-burger :nth-child(2), .open.rev-burger :nth-child(2) {
  transform: rotate(-45deg);
  opacity: 0; }

#dialog_addbutton .rev-burger:hover :last-child, .open .rev-burger :last-child, .open.rev-burger :last-child {
  transform: translateY(-6px) rotate(-135deg); }

.rev-burger.revb-white {
  border: 2px solid rgba(255, 255, 255, 0.2); }

.rev-burger.revb-darknoborder, .rev-burger.revb-whitenoborder {
  border: 0; }

.rev-burger.revb-darknoborder span {
  background: #333; }

.rev-burger.revb-whitefull {
  background: #fff;
  border: none; }

.rev-burger.revb-whitefull span {
  background: #333; }

.rev-burger.revb-darkfull {
  background: #333;
  border: none; }

.rev-burger.revb-darkfull span, .rev-scroll-btn.revs-fullwhite {
  background: #fff; }

@keyframes rev-ani-mouse {
  0% {
    opacity: 1;
    top: 29%; }
  15% {
    opacity: 1;
    top: 50%; }
  50% {
    opacity: 0;
    top: 50%; }
  100% {
    opacity: 0;
    top: 29%; } }

.rev-scroll-btn {
  display: inline-block;
  position: relative;
  left: 0;
  right: 0;
  text-align: center;
  cursor: pointer;
  width: 35px;
  height: 55px;
  box-sizing: border-box;
  border: 3px solid #fff;
  border-radius: 23px; }

.rev-scroll-btn > * {
  display: inline-block;
  line-height: 18px;
  font-size: 13px;
  font-weight: 400;
  color: #fff;
  font-family: proxima-nova, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 2px; }

.rev-scroll-btn > .active, .rev-scroll-btn > :focus, .rev-scroll-btn > :hover {
  color: #fff; }

.rev-scroll-btn > .active, .rev-scroll-btn > :active, .rev-scroll-btn > :focus, .rev-scroll-btn > :hover {
  opacity: .8; }

.rev-scroll-btn.revs-fullwhite span {
  background: #333; }

.rev-scroll-btn.revs-fulldark {
  background: #333;
  border: none; }

.rev-scroll-btn.revs-fulldark span, .tp-bullet {
  background: #fff; }

.rev-scroll-btn span {
  position: absolute;
  display: block;
  top: 29%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  background: #fff;
  border-radius: 50%;
  animation: rev-ani-mouse 2.5s linear infinite; }

.rev-scroll-btn.revs-dark {
  border-color: #333; }

.rev-scroll-btn.revs-dark span {
  background: #333; }

.rev-control-btn {
  position: relative;
  display: inline-block;
  z-index: 5;
  color: #FFF;
  font-size: 20px;
  line-height: 60px;
  font-weight: 400;
  font-style: normal;
  font-family: Raleway;
  text-decoration: none;
  text-align: center;
  background-color: #000;
  border-radius: 50px;
  text-shadow: none;
  background-color: rgba(0, 0, 0, 0.5);
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  cursor: pointer; }

.rev-cbutton-dark-sr, .rev-cbutton-light-sr {
  border-radius: 3px; }

.rev-cbutton-light, .rev-cbutton-light-sr {
  color: #333;
  background-color: rgba(255, 255, 255, 0.75); }

.rev-sbutton {
  line-height: 37px;
  width: 37px;
  height: 37px; }

.rev-sbutton-blue {
  background-color: #3B5998; }

.rev-sbutton-lightblue {
  background-color: #00A0D1; }

.rev-sbutton-red {
  background-color: #DD4B39; }

.tp-bannertimer {
  visibility: hidden;
  width: 100%;
  height: 5px;
  background: #000;
  background: rgba(0, 0, 0, 0.15);
  position: absolute;
  z-index: 200;
  top: 0; }

.tp-bannertimer.tp-bottom {
  top: auto;
  bottom: 0 !important;
  height: 5px; }

.tp-caption img {
  background: 0 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF, endColorstr=#00FFFFFF);
  zoom: 1; }

.caption.slidelink a div, .tp-caption.slidelink a div {
  width: 3000px;
  height: 1500px;
  background: url(../assets/coloredbg.png); }

.tp-caption.slidelink a span {
  background: url(../assets/coloredbg.png); }

.tp-loader.spinner0, .tp-loader.spinner5 {
  background-image: url(../assets/loader.gif);
  background-repeat: no-repeat; }

.tp-shape {
  width: 100%;
  height: 100%; }

.tp-caption .rs-starring {
  display: inline-block; }

.tp-caption .rs-starring .star-rating {
  float: none;
  display: inline-block;
  vertical-align: top;
  color: #FFC321 !important; }

.tp-caption .rs-starring .star-rating, .tp-caption .rs-starring-page .star-rating {
  position: relative;
  height: 1em;
  width: 5.4em;
  font-family: star;
  font-size: 1em !important; }

.tp-loader.spinner0, .tp-loader.spinner1 {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  animation: tp-rotateplane 1.2s infinite ease-in-out;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15); }

.tp-caption .rs-starring .star-rating:before, .tp-caption .rs-starring-page .star-rating:before {
  content: "\73\73\73\73\73";
  color: #E0DADF;
  float: left;
  top: 0;
  left: 0;
  position: absolute; }

.tp-caption .rs-starring .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
  font-size: 1em !important; }

.tp-caption .rs-starring .star-rating span:before {
  content: "\53\53\53\53\53";
  top: 0;
  position: absolute;
  left: 0; }

.tp-loader {
  top: 50%;
  left: 50%;
  z-index: 10000;
  position: absolute; }

.tp-loader.spinner0 {
  background-position: center center; }

.tp-loader.spinner5 {
  background-position: 10px 10px;
  background-color: #fff;
  margin: -22px;
  width: 44px;
  height: 44px;
  border-radius: 3px; }

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

.tp-loader.spinner2 {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  background-color: red;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  border-radius: 100%;
  animation: tp-scaleout 1s infinite ease-in-out; }

@keyframes tp-scaleout {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1);
    opacity: 0; } }

.tp-loader.spinner3 {
  margin: -9px 0 0 -35px;
  width: 70px;
  text-align: center; }

.tp-loader.spinner3 .bounce1, .tp-loader.spinner3 .bounce2, .tp-loader.spinner3 .bounce3 {
  width: 18px;
  height: 18px;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  border-radius: 100%;
  display: inline-block;
  animation: tp-bouncedelay 1.4s infinite ease-in-out;
  animation-fill-mode: both; }

.tp-loader.spinner3 .bounce1 {
  animation-delay: -.32s; }

.tp-loader.spinner3 .bounce2 {
  animation-delay: -.16s; }

@keyframes tp-bouncedelay {
  0%, 100%, 80% {
    transform: scale(0); }
  40% {
    transform: scale(1); } }

.tp-loader.spinner4 {
  margin: -20px 0 0 -20px;
  width: 40px;
  height: 40px;
  text-align: center;
  animation: tp-rotate 2s infinite linear; }

.tp-loader.spinner4 .dot1, .tp-loader.spinner4 .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #fff;
  border-radius: 100%;
  animation: tp-bounce 2s infinite ease-in-out;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15); }

.tp-loader.spinner4 .dot2 {
  top: auto;
  bottom: 0;
  animation-delay: -1s; }

@keyframes tp-rotate {
  100% {
    transform: rotate(360deg); } }

@keyframes tp-bounce {
  0%, 100% {
    transform: scale(0); }
  50% {
    transform: scale(1); } }

.tp-bullets.navbar, .tp-tabs.navbar, .tp-thumbs.navbar {
  border: none;
  min-height: 0;
  margin: 0;
  border-radius: 0; }

.tp-bullets, .tp-tabs, .tp-thumbs {
  position: absolute;
  display: block;
  z-index: 1000;
  top: 0;
  left: 0; }

.tp-tab, .tp-thumb {
  cursor: pointer;
  position: absolute;
  opacity: .5;
  box-sizing: border-box; }

.tp-arr-imgholder, .tp-tab-image, .tp-thumb-image, .tp-videoposter {
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0; }

.tp-tab.selected, .tp-tab:hover, .tp-thumb.selected, .tp-thumb:hover {
  opacity: 1; }

.tp-tab-mask, .tp-thumb-mask {
  box-sizing: border-box !important; }

.tp-tabs, .tp-thumbs {
  box-sizing: content-box !important; }

.tp-bullet {
  width: 15px;
  height: 15px;
  position: absolute;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer; }

.tp-bullet.selected, .tp-bullet:hover {
  background: #fff; }

.tparrows {
  cursor: pointer;
  background: #000;
  background: rgba(0, 0, 0, 0.5);
  width: 40px;
  height: 40px;
  position: absolute;
  display: block;
  z-index: 1000; }

.tparrows:hover {
  background: #000; }

.tparrows:before {
  font-family: revicons;
  font-size: 15px;
  color: #fff;
  display: block;
  line-height: 40px;
  text-align: center; }

.hginfo, .hglayerinfo {
  font-size: 12px;
  font-weight: 600; }

.tparrows.tp-leftarrow:before {
  content: '\e824'; }

.tparrows.tp-rightarrow:before {
  content: '\e825'; }

body.rtl .tp-kbimg {
  left: 0 !important; }

.dddwrappershadow {
  box-shadow: 0 45px 100px rgba(0, 0, 0, 0.4); }

.hglayerinfo {
  position: fixed;
  bottom: 0;
  left: 0;
  color: #FFF;
  line-height: 20px;
  background: rgba(0, 0, 0, 0.75);
  padding: 5px 10px;
  z-index: 2000;
  white-space: normal; }

.helpgrid, .hginfo {
  position: absolute; }

.hginfo {
  top: -2px;
  left: -2px;
  color: #e74c3c;
  background: #000;
  padding: 2px 5px; }

.indebugmode .tp-caption:hover {
  border: 1px dashed #c0392b !important; }

.helpgrid {
  border: 2px dashed #c0392b;
  top: 0;
  left: 0;
  z-index: 0; }

#revsliderlogloglog {
  padding: 15px;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 200px;
  height: 150px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100000;
  font-size: 10px;
  overflow: scroll; }

.aden {
  filter: hue-rotate(-20deg) contrast(0.9) saturate(0.85) brightness(1.2); }

.aden::after {
  background: linear-gradient(to right, rgba(66, 10, 14, 0.2), transparent);
  mix-blend-mode: darken; }

.perpetua::after, .reyes::after {
  mix-blend-mode: soft-light;
  opacity: .5; }

.inkwell {
  filter: sepia(0.3) contrast(1.1) brightness(1.1) grayscale(1); }

.perpetua::after {
  background: linear-gradient(to bottom, #005b9a, #e6c13d); }

.reyes {
  filter: sepia(0.22) brightness(1.1) contrast(0.85) saturate(0.75); }

.reyes::after {
  background: #efcdad; }

.gingham {
  filter: brightness(1.05) hue-rotate(-10deg); }

.gingham::after {
  background: linear-gradient(to right, rgba(66, 10, 14, 0.2), transparent);
  mix-blend-mode: darken; }

.toaster {
  filter: contrast(1.5) brightness(0.9); }

.toaster::after {
  background: radial-gradient(circle, #804e0f, #3b003b);
  mix-blend-mode: screen; }

.walden {
  filter: brightness(1.1) hue-rotate(-10deg) sepia(0.3) saturate(1.6); }

.walden::after {
  background: #04c;
  mix-blend-mode: screen;
  opacity: .3; }

.hudson {
  filter: brightness(1.2) contrast(0.9) saturate(1.1); }

.hudson::after {
  background: radial-gradient(circle, #a6b1ff 50%, #342134);
  mix-blend-mode: multiply;
  opacity: .5; }

.earlybird {
  filter: contrast(0.9) sepia(0.2); }

.earlybird::after {
  background: radial-gradient(circle, #d0ba8e 20%, #360309 85%, #1d0210 100%);
  mix-blend-mode: overlay; }

.mayfair {
  filter: contrast(1.1) saturate(1.1); }

.mayfair::after {
  background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, 0.8), rgba(255, 200, 200, 0.6), #111 60%);
  mix-blend-mode: overlay;
  opacity: .4; }

.lofi {
  filter: saturate(1.1) contrast(1.5); }

.lofi::after {
  background: radial-gradient(circle, transparent 70%, #222 150%);
  mix-blend-mode: multiply; }

._1977 {
  filter: contrast(1.1) brightness(1.1) saturate(1.3); }

._1977:after {
  background: rgba(243, 106, 188, 0.3);
  mix-blend-mode: screen; }

.brooklyn {
  filter: contrast(0.9) brightness(1.1); }

.brooklyn::after {
  background: radial-gradient(circle, rgba(168, 223, 193, 0.4) 70%, #c4b7c8);
  mix-blend-mode: overlay; }

.xpro2 {
  filter: sepia(0.3); }

.xpro2::after {
  background: radial-gradient(circle, #e6e7e0 40%, rgba(43, 42, 161, 0.6) 110%);
  mix-blend-mode: color-burn; }

.nashville {
  filter: sepia(0.2) contrast(1.2) brightness(1.05) saturate(1.2); }

.nashville::after {
  background: rgba(0, 70, 150, 0.4);
  mix-blend-mode: lighten; }

.nashville::before {
  background: rgba(247, 176, 153, 0.56);
  mix-blend-mode: darken; }

.lark {
  filter: contrast(0.9); }

.lark::after {
  background: rgba(242, 242, 242, 0.8);
  mix-blend-mode: darken; }

.lark::before {
  background: #22253f;
  mix-blend-mode: color-dodge; }

.moon {
  filter: grayscale(1) contrast(1.1) brightness(1.1); }

.moon::before {
  background: #a0a0a0;
  mix-blend-mode: soft-light; }

.moon::after {
  background: #383838;
  mix-blend-mode: lighten; }

.clarendon {
  filter: contrast(1.2) saturate(1.35); }

.clarendon:before {
  background: rgba(127, 187, 227, 0.2);
  mix-blend-mode: overlay; }

.willow {
  filter: grayscale(0.5) contrast(0.95) brightness(0.9); }

.willow::before {
  background-color: radial-gradient(40%, circle, #d4a9af 55%, #000 150%);
  mix-blend-mode: overlay; }

.willow::after {
  background-color: #d8cdcb;
  mix-blend-mode: color; }

.rise {
  filter: brightness(1.05) sepia(0.2) contrast(0.9) saturate(0.9); }

.rise::after {
  background: radial-gradient(circle, rgba(232, 197, 152, 0.8), transparent 90%);
  mix-blend-mode: overlay;
  opacity: .6; }

.rise::before {
  background: radial-gradient(circle, rgba(236, 205, 169, 0.15) 55%, rgba(50, 30, 7, 0.4));
  mix-blend-mode: multiply; }

._1977:after, ._1977:before, .aden:after, .aden:before, .brooklyn:after, .brooklyn:before, .clarendon:after, .clarendon:before, .earlybird:after, .earlybird:before, .gingham:after, .gingham:before, .hudson:after, .hudson:before, .inkwell:after, .inkwell:before, .lark:after, .lark:before, .lofi:after, .lofi:before, .mayfair:after, .mayfair:before, .moon:after, .moon:before, .nashville:after, .nashville:before, .perpetua:after, .perpetua:before, .reyes:after, .reyes:before, .rise:after, .rise:before, .slumber:after, .slumber:before, .toaster:after, .toaster:before, .walden:after, .walden:before, .willow:after, .willow:before, .xpro2:after, .xpro2:before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  pointer-events: none; }

._1977, .aden, .brooklyn, .clarendon, .earlybird, .gingham, .hudson, .inkwell, .lark, .lofi, .mayfair, .moon, .nashville, .perpetua, .reyes, .rise, .slumber, .toaster, .walden, .willow, .xpro2 {
  position: relative; }

._1977 img, .aden img, .brooklyn img, .clarendon img, .earlybird img, .gingham img, .hudson img, .inkwell img, .lark img, .lofi img, .mayfair img, .moon img, .nashville img, .perpetua img, .reyes img, .rise img, .slumber img, .toaster img, .walden img, .willow img, .xpro2 img {
  width: 100%;
  z-index: 1; }

._1977:before, .aden:before, .brooklyn:before, .clarendon:before, .earlybird:before, .gingham:before, .hudson:before, .inkwell:before, .lark:before, .lofi:before, .mayfair:before, .moon:before, .nashville:before, .perpetua:before, .reyes:before, .rise:before, .slumber:before, .toaster:before, .walden:before, .willow:before, .xpro2:before {
  z-index: 2; }

._1977:after, .aden:after, .brooklyn:after, .clarendon:after, .earlybird:after, .gingham:after, .hudson:after, .inkwell:after, .lark:after, .lofi:after, .mayfair:after, .moon:after, .nashville:after, .perpetua:after, .reyes:after, .rise:after, .slumber:after, .toaster:after, .walden:after, .willow:after, .xpro2:after {
  z-index: 3; }

.slumber {
  filter: saturate(0.66) brightness(1.05); }

.slumber::after {
  background: rgba(125, 105, 24, 0.5);
  mix-blend-mode: soft-light; }

.slumber::before {
  background: rgba(69, 41, 12, 0.4);
  mix-blend-mode: lighten; }

.tp-kbimg-wrap:after, .tp-kbimg-wrap:before {
  height: 500%;
  width: 500%; }

.content-picture-wrapper a {
  text-decoration: none; }

.content-picture-wrapper .start-text {
  background-color: #fff;
  align-items: center;
  justify-content: center;
  display: flex;
  padding: 10%;
  transition: background-color 1s; }
  .content-picture-wrapper .start-text .small-head {
    font-size: 13px;
    text-transform: uppercase;
    transition: color 1s; }
  .content-picture-wrapper .start-text h3 {
    color: #1e1e1e;
    font-size: 30px;
    padding-bottom: 10px;
    text-transform: uppercase;
    transition: color 1s; }
  .content-picture-wrapper .start-text .start-content {
    max-width: 380px;
    transition: color 1s; }
  .content-picture-wrapper .start-text .small-head, .content-picture-wrapper .start-text h3, .content-picture-wrapper .start-text .start-content {
    color: #1e1e1e; }
  .content-picture-wrapper .start-text .btn {
    text-transform: uppercase; }

.content-picture-wrapper .start-picture-wrapper {
  overflow: hidden;
  padding: 0;
  background-size: cover;
  background-position: center; }
  .content-picture-wrapper .start-picture-wrapper .start-picture {
    transition: background-color 1s;
    background-color: rgba(255, 255, 255, 0.4); }

.content-picture-wrapper .row:hover .start-picture {
  background-color: transparent; }

.content-picture-wrapper .row:hover .start-text {
  background-color: #1e1e1e; }
  .content-picture-wrapper .row:hover .start-text .small-head, .content-picture-wrapper .row:hover .start-text h3, .content-picture-wrapper .row:hover .start-text .start-content {
    color: #fff; }

#side-contact {
  width: 270px;
  height: 80px;
  top: 70%;
  right: -220px;
  position: fixed;
  background: #8c0c33;
  color: #fff;
  font-size: 24px;
  z-index: 999;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25);
  transition: right 1s; }
  #side-contact:hover {
    right: 0; }
  #side-contact .fa-phone-square {
    position: absolute;
    margin-left: 15px;
    margin-top: 10px; }
  #side-contact .fa-envelope-square {
    position: absolute;
    margin-left: 15px;
    margin-top: 45px; }
  #side-contact .side-links {
    color: #fff;
    margin-left: 50px;
    font-size: 13px;
    font-weight: 400;
    margin-top: 14px; }
    #side-contact .side-links a {
      color: #fff;
      position: relative;
      text-decoration: none;
      top: 15px; }
      #side-contact .side-links a:hover, #side-contact .side-links a:focus, #side-contact .side-links a:active {
        color: #d9d9d9;
        text-decoration: none; }
        #side-contact .side-links a:hover:before, #side-contact .side-links a:focus:before, #side-contact .side-links a:active:before {
          visibility: visible; }
      #side-contact .side-links a:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 1px;
        bottom: 0;
        left: 0;
        background-color: #fff;
        visibility: hidden;
        transition: 0.4s; }
        @media (prefers-reduced-motion: reduce) {
          #side-contact .side-links a:before {
            transition: none; } }

.scrollup {
  z-index: 10;
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: 50px;
  right: 100px;
  display: none;
  text-indent: -9999px;
  background: url(../img/top.png) no-repeat; }

.bg-content-primary {
  padding-top: 120px;
  padding-bottom: 120px; }

.bg-content-secondary {
  padding-top: 120px;
  padding-bottom: 120px; }

.quotewrapper {
  padding-top: 120px;
  padding-bottom: 120px; }

.separator {
  height: 3px;
  background: #8c0c33;
  width: 60px;
  margin: 29px 0 29px; }

.bg-content-primary {
  background-color: #fff; }

.bg-content-secondary {
  background-color: #f8f8f8; }

.cookie-wrapper {
  position: fixed;
  bottom: -200px;
  width: 100%;
  padding: 15px;
  background-color: #fff;
  font-size: 13px;
  border-top: 1px #eee solid;
  transition: bottom 1s; }
  .cookie-wrapper.clicked {
    bottom: -200px !important; }
  .cookie-wrapper .btn {
    font-size: 13px;
    border-radius: 0;
    color: #fff !important; }
    .cookie-wrapper .btn:before {
      height: 0 !important; }
  .cookie-wrapper form {
    display: inline-block; }
  .cookie-wrapper .buttons, .cookie-wrapper .text {
    margin: auto; }
  .cookie-wrapper p {
    margin: 0; }

body {
  font-weight: 300; }

.quickcontact {
  margin: 0;
  letter-spacing: 0; }

.img-link-wrapper {
  font-weight: 400; }
  .img-link-wrapper img {
    border-top: 3px solid #8c0c33;
    border-bottom: 3px solid #8c0c33;
    width: 100%; }
  .img-link-wrapper .img-wrapper {
    position: relative; }
    .img-link-wrapper .img-wrapper:before {
      content: " ";
      position: absolute;
      height: 100%;
      width: 100%;
      background: transparent;
      -webkit-transition: all .5s;
      -moz-transition: all .5s;
      -ms-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s; }
    .img-link-wrapper .img-wrapper:after {
      display: none;
      font-family: "Font Awesome 5 Solid";
      content: "\f05a"; }
    .img-link-wrapper .img-wrapper svg {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      top: calc(50% - 17px);
      left: calc(50% - 17px);
      font-size: 35px;
      color: #fff;
      -webkit-transition: all .5s;
      -moz-transition: all .5s;
      -ms-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s; }
  .img-link-wrapper .link-wrapper {
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    font-size: 16px; }
  .img-link-wrapper:hover .img-wrapper svg {
    visibility: visible;
    opacity: 1; }
  .img-link-wrapper:hover .img-wrapper:before {
    background: rgba(255, 0, 0, 0.2); }
  .img-link-wrapper:hover .link-wrapper {
    padding-left: 10px;
    background-color: #8c0c33;
    color: white; }
  .img-link-wrapper:hover a {
    text-decoration: none; }

.bg-content-primary, header .holder {
  background: url("../img/bg-effekt-light.jpg");
  border-top: 1px solid #dadada;
  border-bottom: 1px solid #dadada; }
  .bg-content-primary.firstrow, header .holder.firstrow {
    background: url("../img/bg-plan.png"); }

.bg-content-secondary {
  background: url("../img/bg-effekt.jpg");
  border-top: 1px solid #dadada;
  border-bottom: 1px solid #dadada; }

.bg-content-primary h1 + h2, .bg-content-secondary h1 + h2 {
  margin-bottom: 35px; }

.bg-content-primary h2, .bg-content-secondary h2 {
  margin-bottom: 45px; }

.slick-prev,
.slick-next {
  color: #8c0c33;
  font-size: inherit;
  height: initial;
  width: initial; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    color: #8c0c33; }

.navbar-brand {
  position: absolute;
  top: 0;
  padding-top: 0; }

.navbar-nav > li {
  padding-bottom: 19px; }
  .navbar-nav > li .dropdown-menu {
    background-color: #8c0c33;
    min-width: 233px; }
    .navbar-nav > li .dropdown-menu a {
      text-transform: none;
      color: #fff; }
      .navbar-nav > li .dropdown-menu a:hover {
        background-color: #8c0c33; }
  .navbar-nav > li a {
    font-weight: 600;
    font-size: 15px; }

h1, .h1 {
  color: #8c0c33;
  text-transform: uppercase; }

#mobile-nav-wrapper {
  left: 367px; }
  #mobile-nav-wrapper .navbar-toggler, #mobile-nav-wrapper .left-right {
    background: url("../img/bg-effekt-light.jpg"); }

.services svg {
  color: #b3b2b2; }

.services p {
  margin-bottom: 8px;
  font-weight: 600; }

#btn-project-contact {
  width: auto !important;
  padding-left: 115px;
  padding-right: 115px;
  font-size: 25px; }

a[data-fancybox="gallery"] > img {
  border: 2px solid #dadada; }

.quickcontact a:before {
  background-color: #fff; }

footer .linkrow, footer .linkrow a {
  text-transform: unset; }

footer h5 {
  text-transform: uppercase;
  font-size: 18px; }

footer p {
  font-size: 1rem; }

.slick-next {
  right: -15px; }

.slick-prev {
  left: -15px; }

#side-contact {
  width: 220px;
  right: -170px; }

.dropdown-item:hover, .dropdown-item:focus {
  background-color: transparent; }

#map {
  margin-top: 137px; }

#contactform label {
  font-size: 13px; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 400; }

footer {
  padding: 85px 0 70px; }

@media (max-width: 1199.98px) {
  .navbar-nav > li a {
    font-size: 16px; } }

@media (max-width: 991.98px) {
  .navbar-nav > li {
    padding-right: 15px;
    padding-bottom: 10px; }
    .navbar-nav > li a {
      font-size: 12px; }
  .img-link-wrapper .link-wrapper {
    font-size: 13px; }
  #mobile-nav-wrapper {
    top: 37px; }
  #map {
    margin-top: 112px; } }

@media (max-width: 767.98px) {
  .navbar-nav > li a {
    font-size: 16px; }
  .img-link-wrapper a {
    font-size: 16px; }
  #mobile-nav-wrapper .left-right {
    width: 84%; }
  #map {
    margin-top: 98px; }
  .services p {
    font-size: 14px; } }

@media (max-width: 575.98px) {
  #mobile-nav-wrapper {
    top: 1px; }
  .slide-normal {
    margin-top: 62px; }
  #map {
    margin-top: 62px; }
  #mobile-nav-wrapper .left-right {
    width: 80%; }
  .services p {
    font-size: 16px; }
  #btn-project-contact {
    width: 100% !important;
    padding-left: 0;
    padding-right: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiY29tcG9uZW50cy9fcm95YWxfcHJlbG9hZGVyLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvaGVscGVycy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvaGVscGVycy9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2F0dGVudGlvbi1zZWVrZXJzL19ib3VuY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9fZmxhc2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9fcHVsc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9fc2hha2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9fc3dpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9fd2lnZ2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvYXR0ZW50aW9uLXNlZWtlcnMvX3dvYmJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2F0dGVudGlvbi1zZWVrZXJzL190YWRhLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvYm91bmNlLWVudGVyL19ib3VuY2VJbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2JvdW5jZS1lbnRlci9fYm91bmNlSW5Eb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvYm91bmNlLWVudGVyL19ib3VuY2VJbkxlZnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9ib3VuY2UtZW50ZXIvX2JvdW5jZUluUmlnaHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9ib3VuY2UtZW50ZXIvX2JvdW5jZUluVXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9ib3VuY2UtZXhpdC9fYm91bmNlT3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvYm91bmNlLWV4aXQvX2JvdW5jZU91dERvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9ib3VuY2UtZXhpdC9fYm91bmNlT3V0TGVmdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2JvdW5jZS1leGl0L19ib3VuY2VPdXRSaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2JvdW5jZS1leGl0L19ib3VuY2VPdXRVcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJbkRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5Eb3duQmlnLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1lbnRlci9fZmFkZUluTGVmdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJbkxlZnRCaWcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5SaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZW50ZXIvX2ZhZGVJblJpZ2h0QmlnLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1lbnRlci9fZmFkZUluVXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWVudGVyL19mYWRlSW5VcEJpZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZXhpdC9fZmFkZU91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZXhpdC9fZmFkZU91dERvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXREb3duQmlnLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1leGl0L19mYWRlT3V0TGVmdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZXhpdC9fZmFkZU91dExlZnRCaWcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXRSaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZhZGUtZXhpdC9fZmFkZU91dFJpZ2h0QmlnLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmFkZS1leGl0L19mYWRlT3V0VXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mYWRlLWV4aXQvX2ZhZGVPdXRVcEJpZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZsaXBwZXJzL19mbGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvZmxpcHBlcnMvX2ZsaXBJblguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9mbGlwcGVycy9fZmxpcEluWS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZsaXBwZXJzL19mbGlwT3V0WC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2ZsaXBwZXJzL19mbGlwT3V0WS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2xpZ2h0c3BlZWQvX2xpZ2h0U3BlZWRJbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL2xpZ2h0c3BlZWQvX2xpZ2h0U3BlZWRPdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9yb3RhdGUtZW50ZXIvX3JvdGF0ZUluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvcm90YXRlLWVudGVyL19yb3RhdGVJbkRvd25MZWZ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvcm90YXRlLWVudGVyL19yb3RhdGVJbkRvd25SaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3JvdGF0ZS1lbnRlci9fcm90YXRlSW5VcExlZnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9yb3RhdGUtZW50ZXIvX3JvdGF0ZUluVXBSaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3JvdGF0ZS1leGl0L19yb3RhdGVPdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9yb3RhdGUtZXhpdC9fcm90YXRlT3V0RG93bkxlZnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9yb3RhdGUtZXhpdC9fcm90YXRlT3V0RG93blJpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvcm90YXRlLWV4aXQvX3JvdGF0ZU91dFVwTGVmdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3JvdGF0ZS1leGl0L19yb3RhdGVPdXRVcFJpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc2xpZGUtZW50ZXIvX3NsaWRlSW5Eb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc2xpZGUtZW50ZXIvX3NsaWRlSW5MZWZ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc2xpZGUtZW50ZXIvX3NsaWRlSW5SaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3NsaWRlLWVudGVyL19zbGlkZUluVXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9zbGlkZS1leGl0L19zbGlkZU91dERvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9zbGlkZS1leGl0L19zbGlkZU91dExlZnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy9zbGlkZS1leGl0L19zbGlkZU91dFJpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc2xpZGUtZXhpdC9fc2xpZGVPdXRVcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3NwZWNpYWwvX2hpbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc3BlY2lhbC9fcm9sbEluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvc3BlY2lhbC9fcm9sbE91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3pvb20tZW50ZXIvX3pvb21Jbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3pvb20tZW50ZXIvX3pvb21JbkRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy96b29tLWVudGVyL196b29tSW5MZWZ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvem9vbS1lbnRlci9fem9vbUluUmlnaHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy96b29tLWVudGVyL196b29tSW5VcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3pvb20tZXhpdC9fem9vbU91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUtc2Fzcy9hbmltYXRpb25zL3pvb20tZXhpdC9fem9vbU91dERvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy96b29tLWV4aXQvX3pvb21PdXRMZWZ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGlvbnMvem9vbS1leGl0L196b29tT3V0UmlnaHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLXNhc3MvYW5pbWF0aW9ucy96b29tLWV4aXQvX3pvb21PdXRVcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZmFuY3lhcHBzL2ZhbmN5Ym94L2Rpc3QvanF1ZXJ5LmZhbmN5Ym94LmNzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyX3F1aWNrY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9fbmF2YmFyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy9faW1nX2Rlc2NyaXB0aW9uX2Z1bGwuc2NzcyIsImNvbXBvbmVudHMvX3NpZGVfY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9fc2Nyb2xsdXAuc2NzcyIsImNvbXBvbmVudHMvX3BhZGRpbmdzLnNjc3MiLCJjb21wb25lbnRzL19zZXBhcmF0b3Iuc2NzcyIsImNvbXBvbmVudHMvX2JhY2tncm91bmRzLnNjc3MiLCJjb21wb25lbnRzL19jb29raWVzLnNjc3MiLCJfY3VzdG9tLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImNvbXBvbmVudHMvcm95YWxfcHJlbG9hZGVyXCI7XG4vLyBGb250c1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMFwiKTtcbi8vIFZhcmlhYmxlc1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuLy8gM3JkIFBhcnR5XG5AaW1wb3J0ICcuLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAnO1xuQGltcG9ydCAnLi8uLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS1zYXNzL2FuaW1hdGUnO1xuQGltcG9ydCAnLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzcyc7XG5AaW1wb3J0ICcuLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzJztcbkBpbXBvcnQgJy4vLi4vLi4vbm9kZV9tb2R1bGVzL0BmYW5jeWFwcHMvZmFuY3lib3gvZGlzdC9qcXVlcnkuZmFuY3lib3gnO1xuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXJfcXVpY2tjb250YWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2YmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW1nX2Rlc2NyaXB0aW9uX2Z1bGwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlX2NvbnRhY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zY3JvbGx1cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZGRpbmdzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VwYXJhdG9yJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFja2dyb3VuZHMnO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29va2llc1wiO1xuXG5AaW1wb3J0IFwiY3VzdG9tXCI7IiwiYm9keS5yb3lhbF9wcmVsb2FkZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4jcm95YWxfcHJlbG9hZGVyIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICBmb250LXNpemU6IDEycHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTtcbn1cbiNyb3lhbF9wcmVsb2FkZXIucm95YWxfcHJlbG9hZGVyX251bWJlcjpiZWZvcmUsXG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl9wcm9ncmVzczpiZWZvcmUge1xuICBjb250ZW50OiDigJjigJk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSk7XG59XG4jcm95YWxfcHJlbG9hZGVyLmNvbXBsZXRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyIDAuNXM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhciAwLjVzO1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhciAwLjVzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyIDAuNXM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXIgMC41cztcbn1cbiNyb3lhbF9wcmVsb2FkZXIucm95YWxfcHJlbG9hZGVyX2xpbmUge1xuICBoZWlnaHQ6IDJweDtcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4vKiBOdW1iZXIgTW9kZSAqL1xuXG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl9udW1iZXIgLnJveWFsX3ByZWxvYWRlcl9wZXJjZW50YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMTAwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgQXJpYWw7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNyb3lhbF9wcmVsb2FkZXIucm95YWxfcHJlbG9hZGVyX251bWJlciAucm95YWxfcHJlbG9hZGVyX3BlcmNlbnRhZ2UgPiBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogLTJweDtcbiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUgMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiByb3RhdGUgMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tcy1hbmltYXRpb246IHJvdGF0ZSAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uOiByb3RhdGUgMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBMaW5lIE1vZGUgKi9cblxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfbGluZSAucm95YWxfcHJlbG9hZGVyX2xvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xufVxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfbGluZSAucm95YWxfcHJlbG9hZGVyX3BlZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMHB4O1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qIFRleHQgTW9kZSAqL1xuXG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl90ZXh0IC5yb3lhbF9wcmVsb2FkZXJfbG9hZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl90ZXh0IC5yb3lhbF9wcmVsb2FkZXJfbG9hZGVyIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMC43O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xufVxuXG4vKiBTY2FsZSBUZXh0IE1vZGUgKi9cblxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfc2NhbGVfdGV4dCAucm95YWxfcHJlbG9hZGVyX2xvYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl9zY2FsZV90ZXh0IC5yb3lhbF9wcmVsb2FkZXJfbG9hZGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfc2NhbGVfdGV4dCAucm95YWxfcHJlbG9hZGVyX2xvYWRlciBzcGFuLmxvYWRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZSAwLjJzIGZvcndhcmRzO1xuICAtbW96LWFuaW1hdGlvbjogc2NhbGUgMC4ycyBmb3J3YXJkcztcbiAgLW1zLWFuaW1hdGlvbjogc2NhbGUgMC4ycyBmb3J3YXJkcztcbiAgLW8tYW5pbWF0aW9uOiBzY2FsZSAwLjJzIGZvcndhcmRzO1xuICBhbmltYXRpb246IHNjYWxlIDAuMnMgZm9yd2FyZHM7XG59XG5cbi8qIExvZ28gTW9kZSAqL1xuXG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl9sb2dvIC5yb3lhbF9wcmVsb2FkZXJfbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW46IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG4jcm95YWxfcHJlbG9hZGVyLnJveWFsX3ByZWxvYWRlcl9sb2dvIC5yb3lhbF9wcmVsb2FkZXJfbG9hZGVyIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwJTtcbiAgbGVmdDogMHB4O1xuICByaWdodDogMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNztcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcbn1cbiNyb3lhbF9wcmVsb2FkZXIucm95YWxfcHJlbG9hZGVyX2xvZ28gLnJveWFsX3ByZWxvYWRlcl9wZXJjZW50YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDBweDtcbiAgY29sb3I6ICMwNzJFNzc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBQcm9ncmVzcyBNb2RlICovXG5cbiNyb3lhbF9wcmVsb2FkZXIucm95YWxfcHJlbG9hZGVyX3Byb2dyZXNzIC5yb3lhbF9wcmVsb2FkZXJfcGVyY2VudGFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0FBQUFBQTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfcHJvZ3Jlc3MgLnJveWFsX3ByZWxvYWRlcl9sb2FkZXIge1xuICBjb250ZW50OiDigJjigJk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luOiAtMTBweCBhdXRvIGF1dG8gYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuI3JveWFsX3ByZWxvYWRlci5yb3lhbF9wcmVsb2FkZXJfcHJvZ3Jlc3MgLnJveWFsX3ByZWxvYWRlcl9tZXRlciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M3NjM2Mztcbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO31cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5ALW1zLWtleWZyYW1lcyByb3RhdGUge1xuICAwJSB7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbkAtby1rZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuQGtleWZyYW1lcyByb3RhdGUge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwO31cbiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIpOyAgb3BhY2l0eTogMC41O31cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgIG9wYWNpdHk6IDE7fVxufVxuQC1tb3ota2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUgeyAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7IG9wYWNpdHk6IDA7fVxuICA1MCUgeyAtbW96LXRyYW5zZm9ybTogc2NhbGUoMik7IG9wYWNpdHk6IDAuNTt9XG4gIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7fVxufVxuQC1tcy1rZXlmcmFtZXMgc2NhbGUge1xuICAwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwO31cbiAgNTAlIHsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMik7IG9wYWNpdHk6IDAuNTt9XG4gIDEwMCUgeyAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMTt9XG59XG5ALW8ta2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwO31cbiAgNTAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgyKTsgb3BhY2l0eTogMC41O31cbiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7fVxufVxuQGtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgb3BhY2l0eTogMDt9XG4gIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMik7IG9wYWNpdHk6IDAuNTt9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxO31cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJvb3RzdHJhcCBTZXR0aW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIENvbG9yc1xuXG4kcHJpbWFyeSAgIDogICM4YzBjMzM7XG4kc2Vjb25kYXJ5IDogICMxZTFlMWU7XG5cbiRuYXZiYXItbGluay1jb2xvcjogJHByaW1hcnk7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAkbmF2YmFyLWxpbmstY29sb3I7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkbmF2YmFyLWxpbmstY29sb3I7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogJG5hdmJhci1saW5rLWNvbG9yO1xuXG4kbmF2YmFyLXBhZGRpbmcteTogMDtcblxuJHNpZGUtY29udGFjdC10ZXh0LWNvbG9yOiAjZmZmO1xuJHNpZGUtY29udGFjdC10ZXh0LWNvbG9yLWhvdmVyOiBkYXJrZW4oJHNpZGUtY29udGFjdC10ZXh0LWNvbG9yLCAxNSk7XG4kc2lkZS1jb250YWN0LWJnLWNvbG9yOiAkcHJpbWFyeTtcblxuJGltZy1kZXNjcmlwdGlvbi1mdWxsLXRleHQtY29sb3I6ICRzZWNvbmRhcnk7XG4kaW1nLWRlc2NyaXB0aW9uLWZ1bGwtdGV4dC1jb2xvci1ob3ZlcjogI2ZmZjtcbiRpbWctZGVzY3JpcHRpb24tZnVsbC1iZy1jb2xvcjogI2ZmZjtcbiRpbWctZGVzY3JpcHRpb24tZnVsbC1iZy1jb2xvci1ob3ZlcjogJHNlY29uZGFyeTtcblxuJGZvb3Rlci1saW5rLWNvbG9yOiAjZmZmO1xuJGZvb3Rlci1saW5rLWNvbG9yLWhvdmVyOiAjZmZmO1xuJGZvb3Rlci10ZXh0LWNvbG9yOiAjZmZmO1xuJGZvb3Rlci1iZy1jb2xvcjogJHByaW1hcnk7XG5cbiRzZXBhcmF0b3ItY29sb3I6ICRwcmltYXJ5O1xuJHNlcGFyYXRvci1oZWlnaHQ6IDNweDtcblxuJGJnLWNvbnRlbnQtcHJpbWFyeTogI2ZmZjtcbiRiZy1jb250ZW50LXNlY29uZGFyeTogI2Y4ZjhmODtcblxuLy8gU2xpY2sgQ2Fyb3VzZWxcblxuJHNsaWNrLWFycm93LWNvbG9yOiAjMDAwO1xuJHNsaWNrLWRvdC1jb2xvcjogIzAwMDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yO1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlwiO1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlwiO1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXCI7XG4kc2xpY2stZG90LXNpemU6IDZweDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzU7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMTtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjU7XG5cblxuLy8gUGFkZGluZ3NcblxuJHBhZGRpbmc6IDEyMHB4O1xuXG4kYmctY29udGVudC1wcmltYXJ5LXBhZGRpbmc6ICRwYWRkaW5nO1xuJGJnLWNvbnRlbnQtc2Vjb25kYXJ5LXBhZGRpbmc6ICRwYWRkaW5nO1xuJGN1c3RvbXdyYXBwZXItcGFkZGluZzogJHBhZGRpbmc7XG5cbi8vIEJvZHlcbiRib2R5LWJnOiAjZmZmO1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4kZm9udC1zaXplLWJhc2U6IDFyZW07XG4kbGluZS1oZWlnaHQtYmFzZTogMS41O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiA2MDA7XG5cbiRoMS1mb250LXNpemU6IDI0cHg7XG4kaDItZm9udC1zaXplOiAyMnB4O1xuJGgzLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vIFRyYW5zaXRpb25cbiRmYXN0Oi4ycztcbiRub3JtYWw6LjRzO1xuJHNsb3c6LjZzO1xuXG4vLyBPcHRpb25zXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWU7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZTtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFuaW1hdGlvbiBTZXR0aW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kdXNlLWFsbCAgICAgICAgICAgICAgICA6ICAgdHJ1ZTsgLy8gYWxsIGFuaW1hdGlvbnMgc3RhdHVzXG4kdXNlLWZhZGUgICAgICAgICAgICAgICA6ICAgJHVzZS1hbGw7IC8vIGFsbCBmYWRlc1xuJHVzZS1ib3VuY2UgICAgICAgICAgICAgOiAgICR1c2UtYWxsOyAvLyBhbGwgYm91bmNlc1xuJHVzZS1yb3RhdGUgICAgICAgICAgICAgOiAgICR1c2UtYWxsOyAvLyBhbGwgcm90YXRlc1xuJHVzZS1zbGlkZSAgICAgICAgICAgICAgOiAgICR1c2UtYWxsOyAvLyBhbGwgc2xpZGUgYW5pbWF0aW9uc1xuJHVzZS1mbGlwZXJzICAgICAgICAgICAgOiAgICR1c2UtYWxsOyAvLyBhbGwgZmxpcCBhbmltYXRpb25zXG4kdXNlLWxpZ2h0LXNwZWVkICAgICAgICA6ICAgJHVzZS1hbGw7IC8vIGFsbCBsaWdodCBzcGVlZCBhbmltYXRpb25zXG4kdXNlLWF0dGVudGlvbi1zZWVrZXJzICA6ICAgJHVzZS1hbGw7IC8vIGFsbCBhdHRlbnRpb24gc2Vla2VyIGFuaW1hdGlvbnNcbiR1c2Utc3BlY2lhbCAgICAgICAgICAgIDogICAkdXNlLWFsbDsgLy8gYWxsIHNwZWNpYWwgYW5pbWF0aW9uc1xuJHVzZS16b29tICAgICAgICAgICAgICAgOiAgICR1c2UtYWxsOyAvLyBhbGwgem9vbSBhbmltYXRpb25zIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsXCIlM2NcIiksXG4gIChcIj5cIixcIiUzZVwiKSxcbiAgKFwiI1wiLFwiJTIzXCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0KCkge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LWxlZnRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQoKSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LXJpZ2h0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LW5vbmUoKSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbm9uZWAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIERvIG5vdCBmb3JnZXQgdG8gdXBkYXRlIGdldHRpbmctc3RhcnRlZC90aGVtaW5nLm1kIVxuOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGFwcGVhcmFuY2Ugb2YgdGVtcG9yYWwgaW5wdXRzIHRvIGF2b2lkIGEgTW9iaWxlIFNhZmFyaVxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGNvbnRhaW5lci1tYXgtd2lkdGggPiAkd2lkdGggb3IgJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGVuYWJsZWQgUG9wcGVyLmpzLCByZXNldCBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSAwJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyOyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG5cbiAgKyAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9hbGlnblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9lbWJlZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbGV4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Zsb2F0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL292ZXJmbG93XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2hhZG93c1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3RyZXRjaGVkLWxpbmtcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90ZXh0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Zpc2liaWxpdHlcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gSUUgJiA8IEVkZ2UgMThcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxODA4MTUxNTA5MzQvaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IGV2ZXJ5dGhpbmcgdG8gZ2VuZXJhdGUgeW91ciBhbmltYXRlIHNhc3MgbW9kdWxlIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJoZWxwZXJzL21peGluc1wiLFxuXHRcImhlbHBlcnMvc2V0dGluZ3NcIixcblx0XCJoZWxwZXJzL2Jhc2VcIjtcblxuLy8gQVRURU5USU9OXG5AaW1wb3J0XHRcImFuaW1hdGlvbnMvYXR0ZW50aW9uLXNlZWtlcnMvYm91bmNlXCIsXG5cdFwiYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9mbGFzaFwiLFxuXHRcImFuaW1hdGlvbnMvYXR0ZW50aW9uLXNlZWtlcnMvcHVsc2VcIixcblx0XCJhbmltYXRpb25zL2F0dGVudGlvbi1zZWVrZXJzL3NoYWtlXCIsXG5cdFwiYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy9zd2luZ1wiLFxuXHRcImFuaW1hdGlvbnMvYXR0ZW50aW9uLXNlZWtlcnMvd2lnZ2xlXCIsXG5cdFwiYW5pbWF0aW9ucy9hdHRlbnRpb24tc2Vla2Vycy93b2JibGVcIixcblx0XCJhbmltYXRpb25zL2F0dGVudGlvbi1zZWVrZXJzL3RhZGFcIjtcblxuLy8gQk9VTkNFXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9ib3VuY2UtZW50ZXIvYm91bmNlSW5cIixcblx0XCJhbmltYXRpb25zL2JvdW5jZS1lbnRlci9ib3VuY2VJbkRvd25cIixcblx0XCJhbmltYXRpb25zL2JvdW5jZS1lbnRlci9ib3VuY2VJbkxlZnRcIixcblx0XCJhbmltYXRpb25zL2JvdW5jZS1lbnRlci9ib3VuY2VJblJpZ2h0XCIsXG5cdFwiYW5pbWF0aW9ucy9ib3VuY2UtZW50ZXIvYm91bmNlSW5VcFwiLFxuXHRcImFuaW1hdGlvbnMvYm91bmNlLWV4aXQvYm91bmNlT3V0XCIsXG5cdFwiYW5pbWF0aW9ucy9ib3VuY2UtZXhpdC9ib3VuY2VPdXREb3duXCIsXG5cdFwiYW5pbWF0aW9ucy9ib3VuY2UtZXhpdC9ib3VuY2VPdXRMZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9ib3VuY2UtZXhpdC9ib3VuY2VPdXRSaWdodFwiLFxuXHRcImFuaW1hdGlvbnMvYm91bmNlLWV4aXQvYm91bmNlT3V0VXBcIjtcblxuLy8gRkFERVxuQGltcG9ydFx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluXCIsXG5cdFwiYW5pbWF0aW9ucy9mYWRlLWVudGVyL2ZhZGVJbkRvd25cIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluRG93bkJpZ1wiLFxuXHRcImFuaW1hdGlvbnMvZmFkZS1lbnRlci9mYWRlSW5MZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9mYWRlLWVudGVyL2ZhZGVJbkxlZnRCaWdcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluUmlnaHRcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluUmlnaHRCaWdcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluVXBcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZW50ZXIvZmFkZUluVXBCaWdcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0XCIsXG5cdFwiYW5pbWF0aW9ucy9mYWRlLWV4aXQvZmFkZU91dERvd25cIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0RG93bkJpZ1wiLFxuXHRcImFuaW1hdGlvbnMvZmFkZS1leGl0L2ZhZGVPdXRMZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9mYWRlLWV4aXQvZmFkZU91dExlZnRCaWdcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0UmlnaHRcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0UmlnaHRCaWdcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0VXBcIixcblx0XCJhbmltYXRpb25zL2ZhZGUtZXhpdC9mYWRlT3V0VXBCaWdcIjtcblxuLy8gRkxJUFxuQGltcG9ydCBcImFuaW1hdGlvbnMvZmxpcHBlcnMvZmxpcFwiLFxuXHRcImFuaW1hdGlvbnMvZmxpcHBlcnMvZmxpcEluWFwiLFxuXHRcImFuaW1hdGlvbnMvZmxpcHBlcnMvZmxpcEluWVwiLFxuXHRcImFuaW1hdGlvbnMvZmxpcHBlcnMvZmxpcE91dFhcIixcblx0XCJhbmltYXRpb25zL2ZsaXBwZXJzL2ZsaXBPdXRZXCI7XG5cbi8vIExJR0hUU1BFRURcbkBpbXBvcnRcdFwiYW5pbWF0aW9ucy9saWdodHNwZWVkL2xpZ2h0U3BlZWRJblwiLFxuXHRcImFuaW1hdGlvbnMvbGlnaHRzcGVlZC9saWdodFNwZWVkT3V0XCI7XG5cbi8vIFJPVEFURVxuQGltcG9ydFx0XCJhbmltYXRpb25zL3JvdGF0ZS1lbnRlci9yb3RhdGVJblwiLFxuXHRcImFuaW1hdGlvbnMvcm90YXRlLWVudGVyL3JvdGF0ZUluRG93bkxlZnRcIixcblx0XCJhbmltYXRpb25zL3JvdGF0ZS1lbnRlci9yb3RhdGVJbkRvd25SaWdodFwiLFxuXHRcImFuaW1hdGlvbnMvcm90YXRlLWVudGVyL3JvdGF0ZUluVXBMZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9yb3RhdGUtZW50ZXIvcm90YXRlSW5VcFJpZ2h0XCIsXG5cdFwiYW5pbWF0aW9ucy9yb3RhdGUtZXhpdC9yb3RhdGVPdXRcIixcblx0XCJhbmltYXRpb25zL3JvdGF0ZS1leGl0L3JvdGF0ZU91dERvd25MZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9yb3RhdGUtZXhpdC9yb3RhdGVPdXREb3duUmlnaHRcIixcblx0XCJhbmltYXRpb25zL3JvdGF0ZS1leGl0L3JvdGF0ZU91dFVwTGVmdFwiLFxuXHRcImFuaW1hdGlvbnMvcm90YXRlLWV4aXQvcm90YXRlT3V0VXBSaWdodFwiO1xuXG4vLyBTTElERVxuQGltcG9ydCBcImFuaW1hdGlvbnMvc2xpZGUtZW50ZXIvc2xpZGVJbkRvd25cIixcblx0XCJhbmltYXRpb25zL3NsaWRlLWVudGVyL3NsaWRlSW5MZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9zbGlkZS1lbnRlci9zbGlkZUluUmlnaHRcIixcblx0XCJhbmltYXRpb25zL3NsaWRlLWVudGVyL3NsaWRlSW5VcFwiLFxuXHRcImFuaW1hdGlvbnMvc2xpZGUtZXhpdC9zbGlkZU91dERvd25cIixcblx0XCJhbmltYXRpb25zL3NsaWRlLWV4aXQvc2xpZGVPdXRMZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy9zbGlkZS1leGl0L3NsaWRlT3V0UmlnaHRcIixcblx0XCJhbmltYXRpb25zL3NsaWRlLWV4aXQvc2xpZGVPdXRVcFwiO1xuXG4vLyBTUEVDSUFMXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zcGVjaWFsL2hpbmdlXCIsXG5cdFwiYW5pbWF0aW9ucy9zcGVjaWFsL3JvbGxJblwiLFxuXHRcImFuaW1hdGlvbnMvc3BlY2lhbC9yb2xsT3V0XCI7XG5cbi8vIFpPT01cbkBpbXBvcnQgXCJhbmltYXRpb25zL3pvb20tZW50ZXIvem9vbUluXCIsXG5cdFwiYW5pbWF0aW9ucy96b29tLWVudGVyL3pvb21JbkRvd25cIixcblx0XCJhbmltYXRpb25zL3pvb20tZW50ZXIvem9vbUluTGVmdFwiLFxuXHRcImFuaW1hdGlvbnMvem9vbS1lbnRlci96b29tSW5SaWdodFwiLFxuXHRcImFuaW1hdGlvbnMvem9vbS1lbnRlci96b29tSW5VcFwiLFxuXHRcImFuaW1hdGlvbnMvem9vbS1leGl0L3pvb21PdXRcIixcblx0XCJhbmltYXRpb25zL3pvb20tZXhpdC96b29tT3V0RG93blwiLFxuXHRcImFuaW1hdGlvbnMvem9vbS1leGl0L3pvb21PdXRMZWZ0XCIsXG5cdFwiYW5pbWF0aW9ucy96b29tLWV4aXQvem9vbU91dFJpZ2h0XCIsXG5cdFwiYW5pbWF0aW9ucy96b29tLWV4aXQvem9vbU91dFVwXCI7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2FzcyBNaXhpbnMgd2hpY2ggd2lsbCBiZSB1c2VkIGJ5IHRoZSBtb2R1bGVzICAgICAgICAgICAgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyAgICAgICAgICBBdXRvbWF0aWNhbGx5IGFkZCB2ZW5kb3IgcHJlZml4ZXMgaW4gb25lIGhpdCAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyAgICAgIC5mYWRlSW4geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbiwgJ2ZhZGVJbicpOyAgICAgICAgLy9cbi8vICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbkBtaXhpbiBhbmltYXRlLXByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLi4uKSB7XG4gICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06IHVucXVvdGUoJyN7JHZhbHVlfScpO1xuICAgICN7JHByb3BlcnR5fTogdW5xdW90ZSgnI3skdmFsdWV9Jyk7XG59XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyBHZW5lcmF0ZSBrZXlmcmFtZXMgYW5pbWF0aW9ucyB3aXRoIHZlbmRvciBwcmVmaXhlcyBpbiBvbmUgaGl0IC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyAgICAgIC5mYWRlSW4geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbiwgZmFkZUluKTsgICAgICAgIC8vXG4vLyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgIEBpbmNsdWRlIGFuaW1hdGUta2V5ZnJhbWUoZmFkZUluKSB7ICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgICAgICAwJSB7b3BhY2l0eTogMDt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgICAgICAxMDAlIHtvcGFjaXR5OiAxO30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyBDb3VydGVzeSBvZiBAaW50ZWdyYWxpc3Q6ICh0d2l0dGVyLmNvbSkgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5cbkBtaXhpbiBhbmltYXRlLWtleWZyYW1lKCRhbmltYXRpb24tbmFtZSkge1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQW5pbWF0aW9uIERlZmF1bHQgU2V0dGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBCYXNlIG1vZHVsZSBzZXR0aW5nc1xuJGJhc2UtZHVyYXRpb25cdFx0XHRcdFx0OiAxcyAhZGVmYXVsdDsgICAgICAgICAgIC8vIHVzZWQgaW4gMS1iYXNlIG1vZHVsZVxuJGJhc2Utb3JpZ2luIFx0XHRcdFx0XHQ6IHRvcCBjZW50ZXIgIWRlZmF1bHQ7XG4kYmFzZS1kZWdyZWVzIFx0XHRcdFx0XHQ6IDMwZGVnICFkZWZhdWx0OyAgICAgICAgLy8gdXNlZCBpbiBsaWdodHNwZWVkICYgc3BlY2lhbCBtb2R1bGVzXG4kYmFzZS1maWxsLW1vZGVcdFx0XHRcdFx0OiBib3RoICFkZWZhdWx0O1xuJGJhc2UtaXRlcmF0aW9uLWNvdW50XHRcdFx0OiBpbmZpbml0ZSAhZGVmYXVsdDtcblxuJGJhc2UtdGltaW5nLWZ1bmN0aW9uLWluXHRcdDogZWFzZS1pbiAhZGVmYXVsdDtcbiRiYXNlLXRpbWluZy1mdW5jdGlvbi1vdXRcdFx0OiBlYXNlLW91dCAhZGVmYXVsdDtcbiRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbi1vdXRcdDogZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRiYXNlLWRpc3RhbmNlXHRcdFx0XHRcdDogMTBweCAhZGVmYXVsdDsgXHRcdC8vIHVzZWQgaW4gZmFkZSwgc2hha2UgYW5kIGJvdW5jZSBtb2R1bGVzXG4kYmFzZS1kaXN0YW5jZS1iaWdcdFx0XHRcdDogMTAwMHB4ICFkZWZhdWx0OyAgICAgICAvLyB1c2VkIGluIGZhZGVCaWcgYW5kIGJvdW5jZSBtb2R1bGVzXG5cblxuLy8gUm90YXRlIG1vZHVsZSBzZXR0aW5nc1xuJHJvdGF0ZS1kZWdyZWVzIFx0XHRcdFx0OiA5MGRlZyAhZGVmYXVsdDtcbiRyb3RhdGUtZGVncmVlcy1tYXggXHRcdFx0OiAyMDBkZWcgIWRlZmF1bHQ7XG4kcm90YXRlLW9yaWdpbiBcdFx0XHRcdFx0OiBjZW50ZXIgY2VudGVyICFkZWZhdWx0O1xuXG4vLyBGbGlwcGVyIG1vZHVsZSBzZXR0aW5nc1xuJGZsaXBwZXItcGVyc3BlY3RpdmVcdFx0XHQ6IDQwMHB4ICFkZWZhdWx0O1xuJGZsaXBwZXItdHJhbnNsYXRlIFx0XHRcdFx0OiAxNTBweCAhZGVmYXVsdDtcbiRmbGlwcGVyLWRlZ3JlZXMgXHRcdFx0XHQ6IDEwZGVnICFkZWZhdWx0O1xuJGZsaXBwZXItZGVncmVlcy1tYXggXHRcdFx0OiA5MGRlZyAhZGVmYXVsdDtcblxuXG4vLyBIaW5nZSBtb2R1bGUgc2V0dGluZ3NcbiRoaW5nZS1vcmlnaW4gXHRcdFx0XHRcdDogdG9wIGxlZnQgIWRlZmF1bHQ7XG4kaGluZ2UtZGVncmVlcy1tYXggXHRcdFx0XHQ6IDgwZGVnICFkZWZhdWx0O1xuJGhpbmdlLXRyYW5zbGF0ZSBcdFx0XHRcdDogNzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG4vLyBNb2R1bGUgbG9hZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuLy8gVG8gaW5jbHVkZSBhbiBhbmltYXRpb24gbW9kdWxlIGluIHRoZSBjb21waWxlZCBjc3MgZmlsZSwgc2ltcGx5IHNldCBpdCdzIGF0dHJpYnV0ZSBiZWxvdyB0byB0cnVlIC8vXG4vLyAoYWxsIG1vZHVsZXMgc2V0IHRvIGZhbHNlIHdpbGwgbm90IGJlIGluY2x1ZGVkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbi8vIFRoZSBpZGVhIGhlcmUgaXMgdG8gb25seSBsb2FkIHRoZSBhbmltYXRpb25zIHlvdSB3YW50IHRvIHVzZSBvbiBhIHBlciBwcm9qZWN0IGJhc2lzICAgICAgICAgICAgICAvL1xuLy8gVGhpcyBoZWxwcyBrZWVwIHRoZSBjb21waWxlZCBjc3MgZmlsZSBhdCBpdHMgbGVhbmVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbi8vIEh1Z2VseSBpbmZsdWVuY2VkIGFuZCBpbnNwaXJlZCBieSBAY3Nzd2l6YXJkcnkncyBpbnVpdC5jc3MgX3ZhcnMuc2NzcyBmaWxlICAgICAgICAgICAgICAgICAgICAgICAvL1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5cbiR1c2UtYWxsICAgICAgICAgICAgICAgICAgICA6ICAgZmFsc2UgIWRlZmF1bHQ7IC8vIGFsbCBhbmltYXRpb25zIHN0YXR1c1xuJHVzZS1mYWRlICAgICAgICAgICAgICAgOiAgICR1c2UtYWxsICFkZWZhdWx0OyAvLyBhbGwgZmFkZXNcbiR1c2UtYm91bmNlICAgICAgICAgICAgIDogICAkdXNlLWFsbCAhZGVmYXVsdDsgLy8gYWxsIGJvdW5jZXNcbiR1c2Utcm90YXRlICAgICAgICAgICAgIDogICAkdXNlLWFsbCAhZGVmYXVsdDsgLy8gYWxsIHJvdGF0ZXNcbiR1c2Utc2xpZGUgICAgICAgICAgICAgIDogICAkdXNlLWFsbCAhZGVmYXVsdDsgLy8gYWxsIHNsaWRlIGFuaW1hdGlvbnNcbiR1c2UtZmxpcGVycyAgICAgICAgICAgIDogICAkdXNlLWFsbCAhZGVmYXVsdDsgLy8gYWxsIGZsaXAgYW5pbWF0aW9uc1xuJHVzZS1saWdodC1zcGVlZCAgICAgICAgOiAgICR1c2UtYWxsICFkZWZhdWx0OyAvLyBhbGwgbGlnaHQgc3BlZWQgYW5pbWF0aW9uc1xuJHVzZS1hdHRlbnRpb24tc2Vla2VycyAgOiAgICR1c2UtYWxsICFkZWZhdWx0OyAvLyBhbGwgYXR0ZW50aW9uIHNlZWtlciBhbmltYXRpb25zXG4kdXNlLXNwZWNpYWwgICAgICAgICAgICA6ICAgJHVzZS1hbGwgIWRlZmF1bHQ7IC8vIGFsbCBzcGVjaWFsIGFuaW1hdGlvbnNcbiR1c2Utem9vbSAgICAgICAgICAgICAgIDogICAkdXNlLWFsbCAhZGVmYXVsdDsgLy8gYWxsIHpvb20gYW5pbWF0aW9uc1xuLy8gRmFkZSBFbnRlclxuJHVzZS1mYWRlLWluICAgICAgICAgICAgOiAgICR1c2UtZmFkZSAhZGVmYXVsdDtcbiR1c2UtZmFkZUluIFx0XHRcdDpcdCR1c2UtZmFkZS1pbiAhZGVmYXVsdDtcbiR1c2UtZmFkZUluVXAgXHRcdFx0Olx0JHVzZS1mYWRlLWluICFkZWZhdWx0O1xuJHVzZS1mYWRlSW5VcEJpZyBcdFx0Olx0JHVzZS1mYWRlLWluICFkZWZhdWx0O1xuJHVzZS1mYWRlSW5Eb3duIFx0XHQ6XHQkdXNlLWZhZGUtaW4gIWRlZmF1bHQ7XG4kdXNlLWZhZGVJbkRvd25CaWcgXHRcdDpcdCR1c2UtZmFkZS1pbiAhZGVmYXVsdDtcbiR1c2UtZmFkZUluTGVmdCBcdFx0Olx0JHVzZS1mYWRlLWluICFkZWZhdWx0O1xuJHVzZS1mYWRlSW5MZWZ0QmlnIFx0XHQ6XHQkdXNlLWZhZGUtaW4gIWRlZmF1bHQ7XG4kdXNlLWZhZGVJblJpZ2h0IFx0XHQ6XHQkdXNlLWZhZGUtaW4gIWRlZmF1bHQ7XG4kdXNlLWZhZGVJblJpZ2h0QmlnIFx0Olx0JHVzZS1mYWRlLWluICFkZWZhdWx0O1xuXG5cbi8vIEZhZGUgRXhpdFxuJHVzZS1mYWRlLW91dCAgICAgICAgICAgOiAgICR1c2UtZmFkZSAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dFx0XHRcdDogICAkdXNlLWZhZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0VXBcdFx0XHQ6XHQkdXNlLWZhZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0VXBCaWcgICBcdDpcdCR1c2UtZmFkZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWZhZGVPdXREb3duXHRcdDpcdCR1c2UtZmFkZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWZhZGVPdXREb3duQmlnIFx0Olx0JHVzZS1mYWRlLW91dCAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dExlZnRcdFx0Olx0JHVzZS1mYWRlLW91dCAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dExlZnRCaWcgXHQ6XHQkdXNlLWZhZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1mYWRlT3V0UmlnaHRcdFx0Olx0JHVzZS1mYWRlLW91dCAhZGVmYXVsdDtcbiR1c2UtZmFkZU91dFJpZ2h0QmlnXHQ6XHQkdXNlLWZhZGUtb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEJvdW5jZSBFbnRlclxuJHVzZS1ib3VuY2UtaW4gICAgICAgICAgOiAgICR1c2UtYm91bmNlICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VJblx0XHRcdDpcdCR1c2UtYm91bmNlLWluICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VJblVwXHRcdFx0OiBcdCR1c2UtYm91bmNlLWluICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VJbkRvd24gXHRcdDogXHQkdXNlLWJvdW5jZS1pbiAhZGVmYXVsdDtcbiR1c2UtYm91bmNlSW5MZWZ0IFx0XHQ6IFx0JHVzZS1ib3VuY2UtaW4gIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZUluUmlnaHQgXHRcdDogXHQkdXNlLWJvdW5jZS1pbiAhZGVmYXVsdDtcblxuXG4vLyBCb3VuY2UgRXhpdFxuJHVzZS1ib3VuY2Utb3V0ICAgICAgICAgOiAgICR1c2UtYm91bmNlICFkZWZhdWx0O1xuJHVzZS1ib3VuY2VPdXRcdFx0XHQ6XHQkdXNlLWJvdW5jZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZU91dFVwXHRcdDogXHQkdXNlLWJvdW5jZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZU91dERvd24gXHRcdDogXHQkdXNlLWJvdW5jZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZU91dExlZnQgXHRcdDogXHQkdXNlLWJvdW5jZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLWJvdW5jZU91dFJpZ2h0IFx0OiBcdCR1c2UtYm91bmNlLW91dCAhZGVmYXVsdDtcblxuXG5cbi8vIFJvdGF0ZSBFbnRlclxuJHVzZS1yb3RhdGUtaW4gICAgICAgICAgOiAgICR1c2Utcm90YXRlICFkZWZhdWx0O1xuJHVzZS1yb3RhdGVJbiBcdFx0XHQ6XHQkdXNlLXJvdGF0ZS1pbiAhZGVmYXVsdDtcbiR1c2Utcm90YXRlSW5VcExlZnQgXHQ6IFx0JHVzZS1yb3RhdGUtaW4gIWRlZmF1bHQ7XG4kdXNlLXJvdGF0ZUluVXBSaWdodCBcdDogXHQkdXNlLXJvdGF0ZS1pbiAhZGVmYXVsdDtcbiR1c2Utcm90YXRlSW5Eb3duTGVmdCBcdDogXHQkdXNlLXJvdGF0ZS1pbiAhZGVmYXVsdDtcbiR1c2Utcm90YXRlSW5Eb3duUmlnaHQgXHQ6IFx0JHVzZS1yb3RhdGUtaW4gIWRlZmF1bHQ7XG5cblxuLy8gUm90YXRlIEV4aXRcbiR1c2Utcm90YXRlLW91dCAgICAgICAgIDogICAkdXNlLXJvdGF0ZSAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0IFx0XHRcdDpcdCR1c2Utcm90YXRlLW91dCAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0VXBMZWZ0IFx0OiBcdCR1c2Utcm90YXRlLW91dCAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0VXBSaWdodCBcdDogXHQkdXNlLXJvdGF0ZS1vdXQgIWRlZmF1bHQ7XG4kdXNlLXJvdGF0ZU91dERvd25MZWZ0IFx0OiBcdCR1c2Utcm90YXRlLW91dCAhZGVmYXVsdDtcbiR1c2Utcm90YXRlT3V0RG93blJpZ2h0IDogXHQkdXNlLXJvdGF0ZS1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gU2xpZGUgRW50ZXJcbiR1c2Utc2xpZGUtaW4gICAgICAgICAgIDogICAkdXNlLXNsaWRlICFkZWZhdWx0O1xuJHVzZS1zbGlkZUluXHRcdFx0OiAgICR1c2Utc2xpZGUtaW4gIWRlZmF1bHQ7XG4kdXNlLXNsaWRlSW5VcFx0XHRcdDogICAkdXNlLXNsaWRlLWluICFkZWZhdWx0O1xuJHVzZS1zbGlkZUluRG93blx0XHQ6ICAgJHVzZS1zbGlkZS1pbiAhZGVmYXVsdDtcbiR1c2Utc2xpZGVJbkxlZnRcdFx0OiAgICR1c2Utc2xpZGUtaW4gIWRlZmF1bHQ7XG4kdXNlLXNsaWRlSW5SaWdodFx0XHQ6ICAgJHVzZS1zbGlkZS1pbiAhZGVmYXVsdDtcblxuLy8gU2xpZGUgRXhpdFxuJHVzZS1zbGlkZS1vdXQgICAgICAgICAgOiAgICR1c2Utc2xpZGUgIWRlZmF1bHQ7XG4kdXNlLXNsaWRlT3V0XHRcdFx0OiAgICR1c2Utc2xpZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dFVwXHRcdFx0OiAgICR1c2Utc2xpZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dERvd25cdFx0OiAgICR1c2Utc2xpZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dExlZnRcdFx0OiAgICR1c2Utc2xpZGUtb3V0ICFkZWZhdWx0O1xuJHVzZS1zbGlkZU91dFJpZ2h0XHRcdDogICAkdXNlLXNsaWRlLW91dCAhZGVmYXVsdDtcblxuLy8gRmxpcHBlcnNcbiR1c2UtZmxpcFx0XHRcdFx0Olx0JHVzZS1mbGlwZXJzICFkZWZhdWx0O1xuJHVzZS1mbGlwSW5YXHRcdFx0Olx0JHVzZS1mbGlwZXJzICFkZWZhdWx0O1xuJHVzZS1mbGlwSW5ZXHRcdFx0Olx0JHVzZS1mbGlwZXJzICFkZWZhdWx0O1xuJHVzZS1mbGlwT3V0WFx0XHRcdDpcdCR1c2UtZmxpcGVycyAhZGVmYXVsdDtcbiR1c2UtZmxpcE91dFlcdFx0XHQ6XHQkdXNlLWZsaXBlcnMgIWRlZmF1bHQ7XG5cblxuLy8gTGlnaHRzcGVlZFxuJHVzZS1saWdodFNwZWVkSW4gXHRcdDpcdCR1c2UtbGlnaHQtc3BlZWQgIWRlZmF1bHQ7XG4kdXNlLWxpZ2h0U3BlZWRPdXQgXHRcdDpcdCR1c2UtbGlnaHQtc3BlZWQgIWRlZmF1bHQ7XG5cblxuLy8gQXR0ZW50aW9uIFNlZWtlcnNcbiR1c2UtYm91bmNlXHRcdFx0XHQ6XHQkdXNlLWF0dGVudGlvbi1zZWVrZXJzICFkZWZhdWx0O1xuJHVzZS1mbGFzaFx0XHRcdFx0Olx0JHVzZS1hdHRlbnRpb24tc2Vla2VycyAhZGVmYXVsdDtcbiR1c2UtcHVsc2VcdFx0XHRcdDpcdCR1c2UtYXR0ZW50aW9uLXNlZWtlcnMgIWRlZmF1bHQ7XG4kdXNlLXdpZ2dsZVx0XHRcdFx0Olx0JHVzZS1hdHRlbnRpb24tc2Vla2VycyAhZGVmYXVsdDtcbiR1c2Utc3dpbmdcdFx0XHRcdDpcdCR1c2UtYXR0ZW50aW9uLXNlZWtlcnMgIWRlZmF1bHQ7XG4kdXNlLXNoYWtlXHRcdFx0XHQ6XHQkdXNlLWF0dGVudGlvbi1zZWVrZXJzICFkZWZhdWx0O1xuJHVzZS10YWRhXHRcdFx0XHQ6XHQkdXNlLWF0dGVudGlvbi1zZWVrZXJzICFkZWZhdWx0O1xuJHVzZS13b2JibGVcdFx0XHRcdDpcdCR1c2UtYXR0ZW50aW9uLXNlZWtlcnMgIWRlZmF1bHQ7XG5cblxuLy8gU3BlY2lhbFxuJHVzZS1oaW5nZVx0XHRcdFx0Olx0JHVzZS1zcGVjaWFsICFkZWZhdWx0O1xuJHVzZS1yb2xsSW5cdFx0XHRcdDogXHQkdXNlLXNwZWNpYWwgIWRlZmF1bHQ7XG4kdXNlLXJvbGxPdXQgXHRcdFx0Olx0JHVzZS1zcGVjaWFsICFkZWZhdWx0O1xuXG5cbi8vIFpvb20gSW5cbiR1c2Utem9vbS1pbiAgICAgICAgICAgIDogICAkdXNlLXpvb20gIWRlZmF1bHQ7XG4kdXNlLXpvb21JbiBcdFx0XHQ6XHQkdXNlLXpvb20taW4gIWRlZmF1bHQ7XG4kdXNlLXpvb21JbkRvd24gXHRcdDpcdCR1c2Utem9vbS1pbiAhZGVmYXVsdDtcbiR1c2Utem9vbUluTGVmdCBcdFx0Olx0JHVzZS16b29tLWluICFkZWZhdWx0O1xuJHVzZS16b29tSW5SaWdodCBcdFx0Olx0JHVzZS16b29tLWluICFkZWZhdWx0O1xuJHVzZS16b29tSW5VcCBcdFx0XHQ6XHQkdXNlLXpvb20taW4gIWRlZmF1bHQ7XG5cblxuLy8gWm9vbSBPdXRcbiR1c2Utem9vbS1vdXQgICAgICAgICAgIDogICAkdXNlLXpvb20gIWRlZmF1bHQ7XG4kdXNlLXpvb21PdXRcdFx0XHQ6XHQkdXNlLXpvb20tb3V0ICFkZWZhdWx0O1xuJHVzZS16b29tT3V0RG93blx0XHQ6XHQkdXNlLXpvb20tb3V0ICFkZWZhdWx0O1xuJHVzZS16b29tT3V0TGVmdFx0XHQ6XHQkdXNlLXpvb20tb3V0ICFkZWZhdWx0O1xuJHVzZS16b29tT3V0UmlnaHRcdFx0Olx0JHVzZS16b29tLW91dCAhZGVmYXVsdDtcbiR1c2Utem9vbU91dFVwXHRcdFx0Olx0JHVzZS16b29tLW91dCAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG5MaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG5Db3B5cmlnaHQgKGMpIDIwMTUgRGFuaWVsIEVkZW5cbiovXG5cbmJvZHkge1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gQWRkcmVzc2VzIGEgc21hbGwgaXNzdWUgaW4gd2Via2l0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9iL2JhY2tmYWNlLXZpc2liaWxpdHkvXG59XG5cbi5hbmltYXRlZCB7XG4gIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sIGNhbGMoICN7JGJhc2UtZHVyYXRpb259ICkgKTtcbiAgXHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRiYXNlLWZpbGwtbW9kZSk7XG5cblx0Ji5pbmZpbml0ZSB7XG5cdCAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGJhc2UtaXRlcmF0aW9uLWNvdW50O1xuXHR9XG5cblx0Ji5oaW5nZSB7XG5cdCAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sIGNhbGMoICN7JGJhc2UtZHVyYXRpb259ICogMiApICk7XG5cdH1cblxuXHQmLmJvdW5jZUluLFxuXHQmLmJvdW5jZU91dCB7XG5cdCAgQGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sIGNhbGMoICN7JGJhc2UtZHVyYXRpb259ICogMC43NSApICk7XG5cdH1cblxuXHQmLmZsaXBPdXRYLFxuXHQmLmZsaXBPdXRZIHtcblx0ICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgY2FsYyggI3skYmFzZS1kdXJhdGlvbn0gKiAwLjc1ICkgKTtcblx0fVxufSIsIkBpZiAkdXNlLWJvdW5jZSA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcblx0XHQwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxuXHRcdDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMyk7fVxuXHRcdDYwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMS41KTt9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZSB7XG5cdFx0MCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG5cdFx0NDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMyk7fVxuXHRcdDYwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDEuNSk7fVxuXHR9XG5cblx0LmJvdW5jZSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1mbGFzaCA9PSB0cnVlIHtcblxuXHRAaW5jbHVkZSBhbmltYXRlLWtleWZyYW1lKGZsYXNoKSB7XG5cdFx0MCUsIDUwJSwgMTAwJSB7b3BhY2l0eTogMTt9XG5cdFx0MjUlLCA3NSUge29wYWNpdHk6IDA7fVxuXHR9XG5cblx0LmZsYXNoIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmbGFzaCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtcHVsc2UgPT0gdHJ1ZSB7XG5cblx0Ly8gb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcblx0XHQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXHRcdDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cdFx0MTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXHR9XG5cblx0QGtleWZyYW1lcyBwdWxzZSB7XG5cdFx0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cdFx0NTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cdFx0MTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblx0fVxuXG5cdC5wdWxzZSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcHVsc2UpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXNoYWtlID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG5cdFx0MCUsIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO31cblx0XHQxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlKTt9XG5cdFx0MjAlLCA0MCUsIDYwJSwgODAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSk7fVxuXHR9XG5cblx0QGtleWZyYW1lcyBzaGFrZSB7XG5cdFx0MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG5cdFx0MTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UpO31cblx0XHQyMCUsIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSk7fVxuXHR9XG5cblx0LnNoYWtlIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBzaGFrZSk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLXN3aW5nID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG5cdFx0MjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkYmFzZS1vcmlnaW47IH1cblx0XHQyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuXHRcdDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuXHRcdDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cblx0XHQ4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuXHRcdDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHN3aW5nIHtcblx0XHQyMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cblx0XHQ0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG5cdFx0NjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cblx0XHQ4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cblx0XHQxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cblx0fVxuXG5cdC5zd2luZyB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYmFzZS1vcmlnaW4pO1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHN3aW5nKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS13aWdnbGUgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG5cdCAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTsgfVxuXHQgICAgMTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuXHQgICAgMjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG5cdCAgICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTZkZWcpOyB9XG5cdCAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cblx0ICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cblx0ICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgzZGVnKTsgfVxuXHQgICAgNzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuXHQgICAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG5cdCAgICA5MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH1cblx0XHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHdpZ2dsZSB7XG5cdCAgICAwJSB7IHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cblx0ICAgIDEwJSB7IHRyYW5zZm9ybTogc2tld1goLThkZWcpOyB9XG5cdCAgICAyMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG5cdCAgICAzMCUgeyB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuXHQgICAgNDAlIHsgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuXHQgICAgNTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cblx0ICAgIDYwJSB7IHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cblx0ICAgIDcwJSB7IHRyYW5zZm9ybTogc2tld1goLTJkZWcpOyB9XG5cdCAgICA4MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG5cdCAgICA5MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG5cdFx0MTAwJSB7IHRyYW5zZm9ybTogc2tld1goMGRlZyk7IH1cblx0fVxuXG5cdC53aWdnbGUge1xuXHQgICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCB3aWdnbGUpO1xuXHQgICBAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbik7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utd29iYmxlID09IHRydWUge1xuXG5cdC8vIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZVxuXG5cdEAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuXHQgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG5cdCAgMTUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsgfVxuXHQgIDMwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG5cdCAgNDUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfVxuXHQgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOyB9XG5cdCAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG5cdCAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuXHR9XG5cblx0QGtleWZyYW1lcyB3b2JibGUge1xuXHQgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuXHQgIDE1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG5cdCAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG5cdCAgNDUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cblx0ICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cblx0ICA3NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG5cdCAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cblx0fVxuXG5cdC53b2JibGUge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHdvYmJsZSk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtdGFkYSA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG5cdFx0MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTt9XG5cdFx0MTAlLCAyMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fVxuXHRcdDMwJSwgNTAlLCA3MCUsIDkwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO31cblx0XHQ0MCUsIDYwJSwgODAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO31cblx0XHQxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO31cblx0fVxuXG5cdEBrZXlmcmFtZXMgdGFkYSB7XG5cdFx0MCUge3RyYW5zZm9ybTogc2NhbGUoMSk7fVxuXHRcdDEwJSwgMjAlIHt0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9XG5cdFx0MzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO31cblx0XHQ0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTt9XG5cdFx0MTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fVxuXHR9XG5cblx0LnRhZGEge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHRhZGEpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWJvdW5jZUluID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuXHRcdH1cblxuXHRcdDUwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdH1cblxuXHRcdDcwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZUluIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuXHRcdH1cblxuXHRcdDUwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cblx0XHQ3MCUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cdH1cblxuXHQuYm91bmNlSW4ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGJvdW5jZUluKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VJbkRvd24gPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQ2MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlICogMyk7XG5cdFx0fVxuXG5cdFx0ODAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0NjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UgKiAzKTtcblx0XHR9XG5cblx0XHQ4MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0LmJvdW5jZUluRG93biB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlSW5Eb3duKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VJbkxlZnQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQ2MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlICogMyk7XG5cdFx0fVxuXG5cdFx0ODAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0NjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UgKiAzKTtcblx0XHR9XG5cblx0XHQ4MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXHR9XG5cblx0LmJvdW5jZUluTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlSW5MZWZ0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VJblJpZ2h0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0NjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UgKiAzKTtcblx0XHR9XG5cblx0XHQ4MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDYwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSAqIDMpO1xuXHRcdH1cblxuXHRcdDgwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblx0fVxuXG5cdC5ib3VuY2VJblJpZ2h0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBib3VuY2VJblJpZ2h0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VJblVwID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0NjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UgKiAzKTtcblx0XHR9XG5cblx0XHQ4MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBib3VuY2VJblVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDYwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDMpO1xuXHRcdH1cblxuXHRcdDgwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblx0fVxuXG5cdC5ib3VuY2VJblVwIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBib3VuY2VJblVwKTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VPdXQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblxuXHRcdDI1JSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG5cdFx0fVxuXG5cdFx0NTAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cblx0XHQyNSUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcblx0XHR9XG5cblx0XHQ1MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG5cdFx0fVxuXHR9XG5cblx0LmJvdW5jZU91dCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlT3V0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1ib3VuY2VPdXREb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQyMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblxuXHRcdDIwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHQuYm91bmNlT3V0RG93biB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlT3V0RG93bik7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtYm91bmNlT3V0TGVmdCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cblx0XHQyMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0LmJvdW5jZU91dExlZnQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGJvdW5jZU91dExlZnQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWJvdW5jZU91dFJpZ2h0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5ib3VuY2VPdXRSaWdodCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlT3V0UmlnaHQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWJvdW5jZU91dFVwID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MjAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5ib3VuY2VPdXRVcCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgYm91bmNlT3V0VXApO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVJbiA9PSB0cnVlIHtcblxuXHRAaW5jbHVkZSBhbmltYXRlLWtleWZyYW1lKGZhZGVJbikge1xuXHRcdDAlIHtvcGFjaXR5OiAwO31cblx0XHQxMDAlIHtvcGFjaXR5OiAxO31cblx0fVxuXG5cdC5mYWRlSW4ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVJbik7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZUluRG93biA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZUluRG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVJbkRvd24ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVJbkRvd24pO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVJbkRvd25CaWcgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVJbkRvd25CaWcge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVJbkRvd25CaWcpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1mYWRlSW5MZWZ0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluTGVmdCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZUluTGVmdEJpZyA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluTGVmdEJpZyB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluTGVmdEJpZyk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZUluUmlnaHQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlSW5SaWdodCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluUmlnaHQpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1mYWRlSW5SaWdodEJpZyA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZUluUmlnaHRCaWcge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVJblJpZ2h0QmlnKTtcblx0fVxufVxuIiwiQGlmICR1c2UtZmFkZUluVXAgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlSW5VcCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluVXApO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVJblVwQmlnID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlSW5VcEJpZyB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZUluVXBCaWcpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXQgPT0gdHJ1ZSB7XG5cblx0QGluY2x1ZGUgYW5pbWF0ZS1rZXlmcmFtZShmYWRlT3V0KSB7XG5cdFx0MCUge29wYWNpdHk6IDE7fVxuXHRcdDEwMCUge29wYWNpdHk6IDA7fVxuXHR9XG5cblx0LmZhZGVPdXQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXREb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UgKiAyKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZU91dERvd24ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXREb3duKTtcblx0fVxufVxuIiwiQGlmICR1c2UtZmFkZU91dERvd25CaWcgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVPdXREb3duQmlnIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0RG93bkJpZyk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXRMZWZ0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlT3V0TGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmFkZU91dExlZnQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXRMZWZ0QmlnID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0LmZhZGVPdXRMZWZ0QmlnIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0TGVmdEJpZyk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZU91dFJpZ2h0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlT3V0UmlnaHQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXRSaWdodCk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXRSaWdodEJpZyA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRiYXNlLWRpc3RhbmNlLWJpZyAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlT3V0UmlnaHRCaWcge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXRSaWdodEJpZyk7XG5cdH1cbn1cbiIsIkBpZiAkdXNlLWZhZGVPdXRVcCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcblx0XHQwJSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRiYXNlLWRpc3RhbmNlICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZSAqIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5mYWRlT3V0VXAge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZhZGVPdXRVcCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmFkZU91dFVwQmlnID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGJhc2UtZGlzdGFuY2UtYmlnICogMik7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYmFzZS1kaXN0YW5jZS1iaWcgKiAyKTtcblx0XHR9XG5cdH1cblxuXHQuZmFkZU91dFVwQmlnIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBmYWRlT3V0VXBCaWcpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZsaXAgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWSgwKTtcblx0XHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0fVxuXHRcdDQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHRyYW5zbGF0ZVooJGZsaXBwZXItdHJhbnNsYXRlKSByb3RhdGVZKDE3MGRlZyk7XG5cdFx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdH1cblx0XHQ1MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSB0cmFuc2xhdGVaKCRmbGlwcGVyLXRyYW5zbGF0ZSkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuXHRcdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdH1cblx0XHQ4MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKCRmbGlwcGVyLWRlZ3JlZXMtbWF4ICogNCkgc2NhbGUoMC45NSk7XG5cdFx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0fVxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSBzY2FsZSgxKTtcblx0XHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZsaXAge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVkoMCk7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdFx0NDAlIHtcblx0XHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHRyYW5zbGF0ZVooJGZsaXBwZXItdHJhbnNsYXRlKSByb3RhdGVZKDE3MGRlZyk7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdFx0NTAlIHtcblx0XHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHRyYW5zbGF0ZVooJGZsaXBwZXItdHJhbnNsYXRlKSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdH1cblx0XHQ4MCUge1xuXHRcdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWSgkZmxpcHBlci1kZWdyZWVzLW1heCAqIDQpIHNjYWxlKDAuOTUpO1xuXHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHR9XG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSBzY2FsZSgxKTtcblx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0fVxuXHR9XG5cblx0LmZsaXAge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCBwcmVzZXJ2ZS0zZCk7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCB2aXNpYmxlICFpbXBvcnRhbnQpO1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZsaXApXG5cdH1cblxufVxuIiwiQGlmICR1c2UtZmxpcEluWCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkZmxpcHBlci1kZWdyZWVzLW1heCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgtJGZsaXBwZXItZGVncmVlcyk7XG4gICAgICAgIH1cblxuICAgICAgICA3MCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKCRmbGlwcGVyLWRlZ3JlZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkZmxpcHBlci1kZWdyZWVzLW1heCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoLSRmbGlwcGVyLWRlZ3JlZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgNzAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoJGZsaXBwZXItZGVncmVlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsaXBJblgge1xuICAgIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCB2aXNpYmxlICFpbXBvcnRhbnQpO1xuICAgIFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmxpcEluWCk7XG4gICAgfVxuXG59XG4iLCJAaWYgJHVzZS1mbGlwSW5ZID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVkoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQ0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKC0kZmxpcHBlci1kZWdyZWVzKTtcblx0XHR9XG5cblx0XHQ3MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKCRmbGlwcGVyLWRlZ3JlZXMpO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKDBkZWcpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZsaXBJblkge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVkoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQ0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWSgtJGZsaXBwZXItZGVncmVlcyk7XG5cdFx0fVxuXG5cdFx0NzAlIHtcblx0XHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVkoJGZsaXBwZXItZGVncmVlcyk7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKDBkZWcpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQuZmxpcEluWSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCB2aXNpYmxlICFpbXBvcnRhbnQpO1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZsaXBJblkpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLWZsaXBPdXRYID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICBcdDEwMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVYKCRmbGlwcGVyLWRlZ3JlZXMtbWF4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICBcdDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgkZmxpcHBlci1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkZmxpcHBlci1kZWdyZWVzLW1heCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsaXBPdXRYIHtcbiAgICBcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIGZsaXBPdXRYKTtcbiAgICBcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgdmlzaWJsZSAhaW1wb3J0YW50KTtcbiAgICB9XG5cbn1cbiIsIkBpZiAkdXNlLWZsaXBPdXRZID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKDBkZWcpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJGZsaXBwZXItcGVyc3BlY3RpdmUpIHJvdGF0ZVkoJGZsaXBwZXItZGVncmVlcy1tYXgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGZsaXBPdXRZIHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKDBkZWcpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRmbGlwcGVyLXBlcnNwZWN0aXZlKSByb3RhdGVZKCRmbGlwcGVyLWRlZ3JlZXMtbWF4KTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmZsaXBPdXRZIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksIHZpc2libGUgIWltcG9ydGFudCk7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgZmxpcE91dFkpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1saWdodFNwZWVkSW4gPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG5cdFx0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtJGJhc2UtZGVncmVlcyk7IG9wYWNpdHk6IDA7IH1cblx0XHQ2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgkYmFzZS1kZWdyZWVzKTsgb3BhY2l0eTogMTsgfVxuXHRcdDgwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtJGJhc2UtZGVncmVlcyAvIDIpOyBvcGFjaXR5OiAxOyB9XG5cdFx0MTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfVxuXHR9XG5cblx0QGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuXHRcdDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0kYmFzZS1kZWdyZWVzKTsgb3BhY2l0eTogMDsgfVxuXHRcdDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgkYmFzZS1kZWdyZWVzKTsgb3BhY2l0eTogMTsgfVxuXHRcdDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLSRiYXNlLWRlZ3JlZXMgLyAyKTsgb3BhY2l0eTogMTsgfVxuXHRcdDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9XG5cdH1cblxuXHQubGlnaHRTcGVlZEluIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBsaWdodFNwZWVkSW4pO1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGJhc2UtdGltaW5nLWZ1bmN0aW9uLW91dCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtbGlnaHRTcGVlZE91dCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG5cdFx0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH1cblx0XHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLSRiYXNlLWRlZ3JlZXMpOyBvcGFjaXR5OiAwOyB9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuXHRcdDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfVxuXHRcdDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLSRiYXNlLWRlZ3JlZXMpOyBvcGFjaXR5OiAwOyB9XG5cdH1cblxuXHQubGlnaHRTcGVlZE91dCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgbGlnaHRTcGVlZE91dCk7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkYmFzZS10aW1pbmctZnVuY3Rpb24taW4pO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1yb3RhdGVJbiA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0kcm90YXRlLWRlZ3JlZXMtbWF4KTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRyb3RhdGUtb3JpZ2luO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyByb3RhdGVJbiB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtJHJvdGF0ZS1kZWdyZWVzLW1heCk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0LnJvdGF0ZUluIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCByb3RhdGVJbik7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utcm90YXRlSW5Eb3duTGVmdCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLSRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQucm90YXRlSW5Eb3duTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm90YXRlSW5Eb3duTGVmdCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utcm90YXRlSW5Eb3duUmlnaHQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdC5yb3RhdGVJbkRvd25SaWdodCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm90YXRlSW5Eb3duUmlnaHQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXJvdGF0ZUluVXBMZWZ0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgkcm90YXRlLWRlZ3JlZXMpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdC5yb3RhdGVJblVwTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm90YXRlSW5VcExlZnQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXJvdGF0ZUluVXBSaWdodCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLSRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLSRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdC5yb3RhdGVJblVwUmlnaHQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHJvdGF0ZUluVXBSaWdodCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utcm90YXRlT3V0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGUtZGVncmVlcy1tYXgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogJHJvdGF0ZS1vcmlnaW47XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAkcm90YXRlLW9yaWdpbjtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGUtZGVncmVlcy1tYXgpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQucm90YXRlT3V0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCByb3RhdGVPdXQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXJvdGF0ZU91dERvd25MZWZ0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuXG5cdC5yb3RhdGVPdXREb3duTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm90YXRlT3V0RG93bkxlZnQpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1yb3RhdGVPdXREb3duUmlnaHQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0kcm90YXRlLWRlZ3JlZXMpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQucm90YXRlT3V0RG93blJpZ2h0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCByb3RhdGVPdXREb3duUmlnaHQpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1yb3RhdGVPdXREb3duUmlnaHQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLSRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHRcdC10cmFuc2Zvcm06IHJvdGF0ZSgtJHJvdGF0ZS1kZWdyZWVzKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0LnJvdGF0ZU91dFVwTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm90YXRlT3V0VXBMZWZ0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1yb3RhdGVPdXRVcFJpZ2h0ID09IHRydWUge1xuXHRALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkcm90YXRlLWRlZ3JlZXMpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGUtZGVncmVlcyk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuXG5cdC5yb3RhdGVPdXRVcFJpZ2h0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCByb3RhdGVPdXRVcFJpZ2h0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1zbGlkZUluRG93biA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0fVxuXHR9XG5cblx0LnNsaWRlSW5Eb3duIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBzbGlkZUluRG93bik7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utc2xpZGVJbkxlZnQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdH1cblx0fVxuXG5cdC5zbGlkZUluTGVmdCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgc2xpZGVJbkxlZnQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXNsaWRlSW5SaWdodCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0fVxuXHR9XG5cblx0LnNsaWRlSW5SaWdodCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgc2xpZGVJblJpZ2h0KTtcblx0fVxuXG59XG4iLCJAaWYgJHVzZS1zbGlkZUluVXAgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG5cdFx0MCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdH1cblx0fVxuXG5cdC5zbGlkZUluVXAge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHNsaWRlSW5VcCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2Utc2xpZGVPdXREb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuXHRcdDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0XHR9XG5cdH1cblxuXHQuc2xpZGVPdXREb3duIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBzbGlkZU91dERvd24pO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXNsaWRlT3V0TGVmdCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcblx0XHQwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdDEwMCUge1xuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0XHR9XG5cdH1cblxuXHQuc2xpZGVPdXRMZWZ0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCBzbGlkZU91dExlZnQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXNsaWRlT3V0UmlnaHQgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0fVxuXHR9XG5cblx0QGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcblx0XHQwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0fVxuXHR9XG5cblx0LnNsaWRlT3V0UmlnaHQge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsIHNsaWRlT3V0UmlnaHQpO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXNsaWRlT3V0VXAgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuXHRcdDAlIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG5cdFx0MCUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR9XG5cdH1cblxuXHQuc2xpZGVPdXRVcCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgc2xpZGVPdXRVcCk7XG5cdH1cblxufVxuIiwiQGlmICR1c2UtaGluZ2UgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcblx0XHQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJGhpbmdlLW9yaWdpbjsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYmFzZS10aW1pbmctZnVuY3Rpb24taW4tb3V0OyB9XG5cdFx0MjAlLCA2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRoaW5nZS1kZWdyZWVzLW1heCk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJGhpbmdlLW9yaWdpbjsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYmFzZS10aW1pbmctZnVuY3Rpb24taW4tb3V0OyB9XG5cdFx0NDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkYmFzZS1kZWdyZWVzICogMik7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJGhpbmdlLW9yaWdpbjsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYmFzZS10aW1pbmctZnVuY3Rpb24taW4tb3V0OyB9XG5cdFx0ODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkYmFzZS1kZWdyZWVzICogMikgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkaGluZ2Utb3JpZ2luOyAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbi1vdXQ7IH1cblx0XHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhpbmdlLXRyYW5zbGF0ZSk7IG9wYWNpdHk6IDA7IH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgaGluZ2Uge1xuXHRcdDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMCk7IHRyYW5zZm9ybS1vcmlnaW46ICRoaW5nZS1vcmlnaW47IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbi1vdXQ7IH1cblx0XHQyMCUsIDYwJSB7IHRyYW5zZm9ybTogcm90YXRlKCRoaW5nZS1kZWdyZWVzLW1heCk7IHRyYW5zZm9ybS1vcmlnaW46ICRoaW5nZS1vcmlnaW47IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbi1vdXQ7IH1cblx0XHQ0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgkYmFzZS1kZWdyZWVzICogMik7IHRyYW5zZm9ybS1vcmlnaW46ICRoaW5nZS1vcmlnaW47IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRiYXNlLXRpbWluZy1mdW5jdGlvbi1pbi1vdXQ7IH1cblx0XHQ4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgkYmFzZS1kZWdyZWVzICogMikgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgdHJhbnNmb3JtLW9yaWdpbjogJGhpbmdlLW9yaWdpbjsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJhc2UtdGltaW5nLWZ1bmN0aW9uLWluLW91dDsgfVxuXHRcdDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhpbmdlLXRyYW5zbGF0ZSk7IG9wYWNpdHk6IDA7IH1cblx0fVxuXG5cdC5oaW5nZSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgaGluZ2UpO1xuXHR9XG59XG4iLCJAaWYgJHVzZS1yb2xsSW4gPT0gdHJ1ZSB7XG5cblx0Ly8gb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG5cdFx0MCUgeyBvcGFjaXR5OiAwOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0kYmFzZS1kZWdyZWVzICogNCk7IH1cblx0XHQxMDAlIHsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcm9sbEluIHtcblx0XHQwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0kYmFzZS1kZWdyZWVzICogNCk7IH1cblx0XHQxMDAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG5cdH1cblxuXHQucm9sbEluIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCByb2xsSW4pO1xuXHR9XG5cbn1cbiIsIkBpZiAkdXNlLXJvbGxPdXQgPT0gdHJ1ZSB7XG5cblx0Ly8gb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG5cblx0QC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuXHRcdDAlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoJGJhc2UtZGVncmVlcyAqIDQpO1xuXHRcdH1cblx0fVxuXG5cdEBrZXlmcmFtZXMgcm9sbE91dCB7XG5cdFx0MCUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcblx0XHR9XG5cblx0XHQxMDAlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKCRiYXNlLWRlZ3JlZXMgKiA0KTtcblx0XHR9XG5cdH1cblxuXHQucm9sbE91dCB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgcm9sbE91dCk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21Jbic7XG5cbkBtaXhpbiB6b29tSW4oJHByZWZpeDogJycpIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0I3skcHJlZml4fXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcblx0fVxuXG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tSW4gPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21JbignLXdlYmtpdC0nKTtcblx0fVxuXG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbUluKCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21JbkRvd24nO1xuXG5AbWl4aW4gem9vbUluRG93bigkcHJlZml4OiAnJykge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuXHR9XG5cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG5cdFx0I3skcHJlZml4fWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tSW5Eb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5Eb3duKCctd2Via2l0LScpO1xuXHR9XG5cblx0QGtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5Eb3duKCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21JbkxlZnQnO1xuXG5AbWl4aW4gem9vbUluTGVmdCgkcHJlZml4OiAnJykge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuXHR9XG5cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG5cdFx0I3skcHJlZml4fWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tSW5MZWZ0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5MZWZ0KCctd2Via2l0LScpO1xuXHR9XG5cblx0QGtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5MZWZ0KCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21JblJpZ2h0JztcblxuQG1peGluIHpvb21JblJpZ2h0KCRwcmVmaXg6ICcnKSB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcblx0XHQjeyRwcmVmaXh9YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcblx0fVxuXG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcblx0XHQjeyRwcmVmaXh9YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuXHR9XG59XG5cbkBpZiAkdXNlLXpvb21JblJpZ2h0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5SaWdodCgnLXdlYmtpdC0nKTtcblx0fVxuXG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbUluUmlnaHQoKTtcblx0fVxuXG5cdC4jeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkYW5pbWF0ZS1uYW1lKTtcblx0fVxuXG59XG4iLCIkYW5pbWF0ZS1uYW1lOiAnem9vbUluVXAnO1xuXG5AbWl4aW4gem9vbUluVXAoJHByZWZpeDogJycpIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0I3skcHJlZml4fXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuXHR9XG5cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG5cdH1cbn1cblxuQGlmICR1c2Utem9vbUluVXAgPT0gdHJ1ZSB7XG5cblx0QC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21JblVwKCctd2Via2l0LScpO1xuXHR9XG5cblx0QGtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tSW5VcCgpO1xuXHR9XG5cblx0LiN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRhbmltYXRlLW5hbWUpO1xuXHR9XG5cbn1cbiIsIiRhbmltYXRlLW5hbWU6ICd6b29tT3V0JztcblxuQG1peGluIHpvb21PdXQoJHByZWZpeDogJycpIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0I3skcHJlZml4fXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGlmICR1c2Utem9vbU91dCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbU91dCgnLXdlYmtpdC0nKTtcblx0fVxuXG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbU91dCgpO1xuXHR9XG5cblx0LiN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRhbmltYXRlLW5hbWUpO1xuXHR9XG5cbn1cbiIsIiRhbmltYXRlLW5hbWU6ICd6b29tT3V0RG93bic7XG5cbkBtaXhpbiB6b29tT3V0RG93bigkcHJlZml4OiAnJykge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0I3skcHJlZml4fXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG5cdFx0I3skcHJlZml4fWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcblx0XHQjeyRwcmVmaXh9YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuXHR9XG59XG5cbkBpZiAkdXNlLXpvb21PdXREb3duID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tT3V0RG93bignLXdlYmtpdC0nKTtcblx0fVxuXG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbU91dERvd24oKTtcblx0fVxuXG5cdC4jeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlLXByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkYW5pbWF0ZS1uYW1lKTtcblx0fVxuXG59XG4iLCIkYW5pbWF0ZS1uYW1lOiAnem9vbU91dExlZnQnO1xuXG5AbWl4aW4gem9vbU91dExlZnQoJHByZWZpeDogJycpIHtcblx0NDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblx0fVxufVxuXG5AaWYgJHVzZS16b29tT3V0TGVmdCA9PSB0cnVlIHtcblxuXHRALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgem9vbU91dExlZnQoJy13ZWJraXQtJyk7XG5cdH1cblxuXHRAa2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21PdXRMZWZ0KCk7XG5cdH1cblxuXHQuI3skYW5pbWF0ZS1uYW1lfSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZS1wcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJGFuaW1hdGUtbmFtZSk7XG5cdH1cblxufVxuIiwiJGFuaW1hdGUtbmFtZTogJ3pvb21PdXRSaWdodCc7XG5cbkBtaXhpbiB6b29tT3V0UmlnaHQoJHByZWZpeDogJycpIHtcblx0NDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG5cdH1cbn1cblxuQGlmICR1c2Utem9vbU91dFJpZ2h0ID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tT3V0UmlnaHQoJy13ZWJraXQtJyk7XG5cdH1cblxuXHRAa2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21PdXRSaWdodCgpO1xuXHR9XG5cblx0LiN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRhbmltYXRlLW5hbWUpO1xuXHR9XG5cbn1cbiIsIiRhbmltYXRlLW5hbWU6ICd6b29tT3V0VXAnO1xuXG5AbWl4aW4gem9vbU91dFVwKCRwcmVmaXg6ICcnKSB7XG5cdDQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQjeyRwcmVmaXh9dHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHRcdCN7JHByZWZpeH10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXHRcdCN7JHByZWZpeH1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG5cdH1cbn1cblxuQGlmICR1c2Utem9vbU91dFVwID09IHRydWUge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRlLW5hbWV9IHtcblx0XHRAaW5jbHVkZSB6b29tT3V0VXAoJy13ZWJraXQtJyk7XG5cdH1cblxuXHRAa2V5ZnJhbWVzICN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIHpvb21PdXRVcCgpO1xuXHR9XG5cblx0LiN7JGFuaW1hdGUtbmFtZX0ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUtcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRhbmltYXRlLW5hbWUpO1xuXHR9XG5cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHkuY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1hY3RpdmUge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcclxuICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHRvcDogLTk5OTlweDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHRvcDogMDtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5OTk5MjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciAqIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vdXRlcixcclxuLmZhbmN5Ym94LWlubmVyLFxyXG4uZmFuY3lib3gtYmcsXHJcbi5mYW5jeWJveC1zdGFnZSB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vdXRlciB7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYmcge1xyXG4gICAgYmFja2dyb3VuZDogcmdiKDMwLCAzMCwgMzApO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNDcsIDAsIC43NCwgLjcxKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcclxuICAgIG9wYWNpdHk6IC45O1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjIsIC42MSwgLjM2LCAxKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIsXHJcbi5mYW5jeWJveC10b29sYmFyLFxyXG4uZmFuY3lib3gtY2FwdGlvbixcclxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZSwgdmlzaWJpbGl0eSAwcyBlYXNlIC4yNXM7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiA5OTk5NztcclxufVxyXG5cclxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhcixcclxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcclxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbixcclxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlIDBzLCB2aXNpYmlsaXR5IDBzIGVhc2UgMHM7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaW5mb2JhciB7XHJcbiAgICBjb2xvcjogI2NjYztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xyXG4gICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xyXG4gICAgbWluLXdpZHRoOiA0NHB4O1xyXG4gICAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHRvcDogMDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10b29sYmFyIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc3RhZ2Uge1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgIHotaW5kZXg6IDk5OTk0O1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtc3RhZ2Uge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlIHtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLyogVXNpbmcgd2l0aG91dCBwcmVmaXggd291bGQgYnJlYWsgSUUxMSAqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICBwYWRkaW5nOiA0NHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5OTQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXHJcbi5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXHJcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiA0NHB4IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwge1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICBwYWRkaW5nOiA0NHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41LCAwLCAuMTQsIDEpO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB6LWluZGV4OiA5OTk5NTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGN1cnNvcjogem9vbS1vdXQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGN1cnNvcjogem9vbS1pbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWNhbi1zd2lwZSAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LWNhbi1wYW4gLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgICBjdXJzb3I6IGdyYWI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1ncmFiYmluZyAuZmFuY3lib3gtY29udGVudCB7XHJcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XHJcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyIFtkYXRhLXNlbGVjdGFibGU9J3RydWUnXSB7XHJcbiAgICBjdXJzb3I6IHRleHQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pbWFnZSxcclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcclxuLmZhbmN5Ym94LXNsaWRlLS1wZGYgLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICNlNWUzZGY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC12aWRlbyxcclxuLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogRml4IGlPUyAqL1xyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1lcnJvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHAge1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbnMgKi9cclxuXHJcbi5mYW5jeWJveC1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAuNik7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgdmlzaWJpbGl0eTogaW5oZXJpdDtcclxuICAgIHdpZHRoOiA0NHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLFxyXG4uZmFuY3lib3gtYnV0dG9uOnZpc2l0ZWQsXHJcbi5mYW5jeWJveC1idXR0b246bGluayB7XHJcbiAgICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLmZhbmN5Ym94LWZvY3VzIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdLFxyXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEZpeCBJRTExICovXHJcbi5mYW5jeWJveC1idXR0b24gZGl2IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcclxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgIHN0cm9rZS13aWR0aDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheSBzdmc6bnRoLWNoaWxkKDIpLFxyXG4uZmFuY3lib3gtYnV0dG9uLS1mc2VudGVyIHN2ZzpudGgtY2hpbGQoMikge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2Ugc3ZnOm50aC1jaGlsZCgxKSxcclxuLmZhbmN5Ym94LWJ1dHRvbi0tZnNleGl0IHN2ZzpudGgtY2hpbGQoMSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXByb2dyZXNzIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZjUyNjg7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDA7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgIHotaW5kZXg6IDk5OTk4O1xyXG59XHJcblxyXG4vKiBDbG9zZSBidXR0b24gb24gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgaHRtbCBjb250ZW50ICovXHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvcGFjaXR5OiAuODtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMTJweDtcclxuICAgIHRvcDogLTQ0cHg7XHJcbiAgICB6LWluZGV4OiA0MDE7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0taHRtbCAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZS5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcclxuLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1wYW4gLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIE5hdmlnYXRpb24gYXJyb3dzICovXHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyg1MCUgLSA1MHB4KTtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIGRpdiB7XHJcbiAgICBwYWRkaW5nOiA3cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQge1xyXG4gICAgbGVmdDogMDtcclxuICAgIGxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XHJcbiAgICBwYWRkaW5nOiAzMXB4IDI2cHggMzFweCA2cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcclxuICAgIHBhZGRpbmc6IDMxcHggNnB4IDMxcHggMjZweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xyXG59XHJcblxyXG4vKiBDYXB0aW9uICovXHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjg1KSAwJSxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIC4zKSA1MCUsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAuMTUpIDY1JSxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNzUpIDc1LjUlLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjAzNykgODIuODUlLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjAxOSkgODglLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBjb2xvcjogI2VlZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIHBhZGRpbmc6IDc1cHggNDRweCAyNXB4IDQ0cHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogOTk5OTY7XHJcbn1cclxuXHJcbkBzdXBwb3J0cyAocGFkZGluZzogbWF4KDBweCkpIHtcclxuICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA3NXB4IHVucXVvdGUoJ21heCg0NHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSknKSB1bnF1b3RlKCdtYXgoMjVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKScpIHVucXVvdGUoJ21heCg0NHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKScpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbi0tc2VwYXJhdGUge1xyXG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uX19ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IDUwdmg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGEsXHJcbi5mYW5jeWJveC1jYXB0aW9uIGE6bGluayxcclxuLmZhbmN5Ym94LWNhcHRpb24gYTp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXHJcblxyXG4uZmFuY3lib3gtbG9hZGluZyB7XHJcbiAgICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkICM4ODg7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luOiAtMjVweCAwIDAgLTI1cHg7XHJcbiAgICBvcGFjaXR5OiAuNztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgei1pbmRleDogOTk5OTk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRyYW5zaXRpb24gZWZmZWN0cyAqL1xyXG5cclxuLmZhbmN5Ym94LWFuaW1hdGVkIHtcclxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgLjI1LCAxKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogZmFkZSAqL1xyXG5cclxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxyXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXHJcblxyXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC41LCAuNSwgLjUpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxufVxyXG5cclxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXHJcblxyXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGNpcmN1bGFyICovXHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cclxuXHJcbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygtMTBkZWcpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKC4xKSBza2V3KDEwZGVnKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxufVxyXG5cclxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC1oZWlnaHQ6IDU3NnB4KSB7XHJcbiAgICAuZmFuY3lib3gtc2xpZGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjNGU0ZTRlO1xyXG4gICAgICAgIGNvbG9yOiAjZjJmNGY2O1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBzdXBwb3J0cyAocGFkZGluZzogbWF4KDBweCkpIHtcclxuICAgICAgICAuZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZSgnbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpJyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHVucXVvdGUoJ21heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyogU2hhcmUgKi9cclxuXHJcbi5mYW5jeWJveC1zaGFyZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmUgaDEge1xyXG4gICAgY29sb3I6ICMyMjI7XHJcbiAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmUgcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xyXG4gICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246dmlzaXRlZCxcclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246bGluayB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmIge1xyXG4gICAgYmFja2dyb3VuZDogIzNiNTk5ODtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMzNDRlODY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYmQwODFkO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2FhMDcxOTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3IHtcclxuICAgIGJhY2tncm91bmQ6ICMxZGExZjI7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dzpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMGQ5NWU4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcge1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0xcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyBwYXRoIHtcclxuICAgIGZpbGw6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9faW5wdXQge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBjb2xvcjogIzVkNWI1YjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4vKiBUaHVtYnMgKi9cclxuXHJcbi5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgYmFja2dyb3VuZDogI2RkZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICAgIHBhZGRpbmc6IDJweCAycHggNHB4IDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDIxMnB4O1xyXG4gICAgei1pbmRleDogOTk5OTU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteCB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XHJcbiAgICByaWdodDogMjEycHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXggLmZhbmN5Ym94LXRodW1ic19fbGlzdCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDdweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIC4zKTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICMyYTJhMmE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6OmJlZm9yZSB7XHJcbiAgICBib3JkZXI6IDZweCBzb2xpZCAjZmY1MjY4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcclxuICAgIHotaW5kZXg6IDk5OTkxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6Zm9jdXM6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NzZweCkge1xyXG4gICAgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gICAgICAgIHJpZ2h0OiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICB9XHJcbn1cclxuIiwiaGVhZGVye1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAuaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNWQ1O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB9XG5cbiAgLmxvZ297XG4gICAgei1pbmRleDogOTk5O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICB9XG59XG5cbiIsIi5xdWlja2NvbnRhY3Qge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiAzMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuXG4gIC52ZXJ0LXNlcCB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuICAgICAgY29sb3I6ICM2YzZjNmM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM2YzZjO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uc3RpY2t5IC5xdWlja2NvbnRhY3Qge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufSIsIi5uYXZiYXItY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gID5saSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI5cHg7XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGluay1jb2xvcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNHB4IGF1dG8gYXV0bztcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbm9ybWFsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgICYuYWN0aXZle1xuICAgICAgYXtcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLW5hdiA+IGxpID4gYTpob3Zlcixcbi5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLm5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAmOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgfVxufVxuXG4uc3RpY2t5e1xuICAucXVpY2tjb250YWN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDQycHg7XG4gIH1cbiAgLmxvZ297XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAubmF2YmFyLW5hdiA+IGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4uZHJvcGRvd257XG4gICY6aG92ZXJ7XG4gICAgLmRyb3Bkb3duLW1lbnV7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmRyb3Bkb3duLWl0ZW17XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWxlZnQgLjRzIGVhc2UtaW47XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24tbWVudXtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGF7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBTb2xpZFwiO1xuICAgICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluO1xuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgc3Zne1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5oZWFkZXIge1xuICAubG9nbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAubmF2YmFyLWNvbGxhcHNle1xuICAgIG1hcmdpbi10b3A6IDUzcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gIGhlYWRlciB7XG4gICAgLmxvZ297XG4gICAgICBoZWlnaHQ6IDExMHB4O1xuICAgIH1cbiAgICAubmF2YmFyLWNvbGxhcHNle1xuICAgICAgbWFyZ2luLXRvcDogNTFweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5zdGlja3kge1xuICAgIC5uYXZiYXItY29sbGFwc2V7XG4gICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgIH1cbiAgICAubG9nb3tcbiAgICAgIGhlaWdodDogODVweDtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIHtcbiAgICAubG9nb3tcbiAgICAgIGhlaWdodDogODVweDtcbiAgICB9XG4gICAgLm5hdmJhci1jb2xsYXBzZXtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxuXG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gIGhlYWRlciAubG9nbywgLnN0aWNreSAubG9nbyB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICB9XG4gIC5zdGlja3kge1xuICAgIC5uYXZiYXItbmF2ID4gbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE3cHg7XG4gICAgfVxuICAgIC5uYXZiYXItY29sbGFwc2V7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICB9XG4gICNxdWlja2NvbnRhY3Qtd3JhcHBlcntcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAjbW9iaWxlLW5hdi13cmFwcGVye1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDM1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBsZWZ0OiA2NXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluIDAuNXM7XG4gICAgLm5hdmJhci10b2dnbGVye1xuICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICAuaWNvbi1iYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgfVxuICAgICAgLnRvcC1iYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjAlIDEwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAyMCUgMTAlO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDIwJSAxMCU7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAyMCUgMTAlO1xuICAgICAgfVxuICAgICAgLm1pZGRsZS1iYXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgLmJvdHRvbS1iYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwJSA5MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAlIDkwJTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwJSA5MCU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMTAlIDkwJTtcbiAgICAgIH1cbiAgICAgIC5jb2xsYXBzZWR7XG4gICAgICAgIC50b3AtYmFyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICAgIC5taWRkbGUtYmFyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5ib3R0b20tYmFyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlZnQtcmlnaHR7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgd2lkdGg6IDgxJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC5uYXZiYXItbmF2ID4gbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXZiYXItbmF2e1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTRweDtcbiAgfVxuXG4gIGhlYWRlciAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSl7XG4gICNtb2JpbGUtbmF2LXdyYXBwZXJ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn0iLCJmb290ZXIge1xuICBwYWRkaW5nOiAxMjVweCAwIDEwNXB4O1xuICBjb2xvcjogJGZvb3Rlci10ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJnLWNvbG9yO1xuXG4gIC5saW5rcm93IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGZvb3Rlci1saW5rLWNvbG9yO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGZvb3Rlci1saW5rLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxufSIsIi5yZXYtc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5vcm1hbCk7XG59XG5cbi5yZXZfc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uc2xpZGUtbm9ybWFsIHtcbiAgbWFyZ2luLXRvcDogMTM4cHg7XG59XG4uaG9sZGl0IC5zbGlkZS1ub3JtYWwge1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuI21hcCB7XG4gIG1hcmdpbi10b3A6IDE0N3B4O1xufVxuXG4uaG9sZGl0ICNtYXAge1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuLnNsaWRlLWhlYWQtMDEge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNsaWRlLWhlYWQtMDIge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNsaWRlci1idG4ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGNvbG9yOiAjMDA3NmJlO1xuICB3aWR0aDogMTgwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDEwcHggNDBweCA2cHggIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkc2xvdyk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMTgsIDE5MCwgMC45KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLnNsaWRlLW5vcm1hbCB7XG4gICAgbWFyZ2luLXRvcDogMTM0cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5zbGlkZS1ub3JtYWwge1xuICAgIG1hcmdpbi10b3A6IDk3cHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4tXHRSZXZvbHV0aW9uIFNsaWRlciA1LjAgRGVmYXVsdCBTdHlsZSBTZXR0aW5ncyAtXG5cblNjcmVlbiBTdHlsZXNoZWV0XG5cbnZlcnNpb246ICAgXHQ1LjQuNVxuZGF0ZTogICAgICBcdDE1LzA1LzE3XG5hdXRob3I6XHRcdHRoZW1lcHVuY2hcbmVtYWlsOiAgICAgXHRpbmZvQHRoZW1lcHVuY2guY29tXG53ZWJzaXRlOiAgIFx0aHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI2RlYnVuZ2NvbnRyb2xscywgLmRlYnVndGltZWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveFxufVxuXG4ucmV2X2NvbHVtbiwgLnJldl9jb2x1bW4gLnRwLXBhcmFsbGF4LXdyYXAsIC50cC1zdmctbGF5ZXIgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcFxufVxuXG4jZGVidW5nY29udHJvbGxzIHtcbiAgei1pbmRleDogMTAwMDAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC42KTtcbiAgcGFkZGluZzogMTBweFxufVxuXG4uZGVidWd0aW1lbGluZSB7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXBcbn1cblxuLmRlYnVndGltZWxpbmU6aG92ZXIge1xuICBoZWlnaHQ6IDE1cHhcbn1cblxuLnRoZV90aW1lbGluZV90ZXN0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTc0YzNjO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMFxufVxuXG4ucnMtZ28tZnVsbHNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OTk5OSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnRcbn1cblxuLmRlYnVndGltZWxpbmUudGxfc2xpZGUgLnRoZV90aW1lbGluZV90ZXN0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjM5YzEyXG59XG5cbi5kZWJ1Z3RpbWVsaW5lLnRsX2ZyYW1lIC50aGVfdGltZWxpbmVfdGVzdGVyIHtcbiAgYmFja2dyb3VuZDogIzM0OThkYlxufVxuXG4uZGVidWd0aW1saW5lX3R4dCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDdweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMHB4O1xuICB0b3A6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4XG59XG5cbi5ydGwge1xuICBkaXJlY3Rpb246IHJ0bFxufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHJldmljb25zO1xuICBzcmM6IHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29ucy5lb3Q/NTUxMDg4OCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3Jldmljb25zL3Jldmljb25zLmVvdD81NTEwODg4I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29ucy53b2ZmPzU1MTA4ODgpIGZvcm1hdCgnd29mZicpLCB1cmwoLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnMudHRmPzU1MTA4ODgpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKC4uL2ZvbnRzL3Jldmljb25zL3Jldmljb25zLnN2Zz81NTEwODg4I3Jldmljb25zKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWxcbn1cblxuW2NsYXNzKj1cIiByZXZpY29uLVwiXTpiZWZvcmUsIFtjbGFzc149cmV2aWNvbi1dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiByZXZpY29ucztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcGVhazogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHdpZHRoOiAxZW07XG4gIG1hcmdpbi1yaWdodDogLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAuMmVtXG59XG5cbi5yZXZpY29uLXNlYXJjaC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDInXG59XG5cbi5yZXZpY29uLXBlbmNpbC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MzEnXG59XG5cbi5yZXZpY29uLXBpY3R1cmUtMTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAzJ1xufVxuXG4ucmV2aWNvbi1jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYSdcbn1cblxuLnJldmljb24taW5mby1jaXJjbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGYnXG59XG5cbi5yZXZpY29uLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnXG59XG5cbi5yZXZpY29uLWxlZnQtZGlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTcnXG59XG5cbi5yZXZpY29uLXJpZ2h0LWRpcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE4J1xufVxuXG4ucmV2aWNvbi1kb3duLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgzYidcbn1cblxuLnJldmljb24tbGVmdC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTknXG59XG5cbi5yZXZpY29uLXJpZ2h0LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxYSdcbn1cblxuLnJldmljb24tYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODIwJ1xufVxuXG4ucmV2aWNvbi1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFkJ1xufVxuXG4ucmV2aWNvbi1sZWZ0LWJpZzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFmJ1xufVxuXG4ucmV2aWNvbi1yaWdodC1iaWc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxZSdcbn1cblxuLnJldmljb24tbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNydcbn1cblxuLnJldmljb24tcGljdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAwJ1xufVxuXG4ucmV2aWNvbi1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYidcbn1cblxuLnJldmljb24tY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MzInXG59XG5cbi5yZXZpY29uLWxvZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MzMnXG59XG5cbi5yZXZpY29uLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODM0J1xufVxuXG4ucmV2aWNvbi12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA1J1xufVxuXG4ucmV2aWNvbi1hcnJvdy1jb21ibzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODI3J1xufVxuXG4ucmV2aWNvbi1sZWZ0LW9wZW4tMTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODJhJ1xufVxuXG4ucmV2aWNvbi1yaWdodC1vcGVuLTE6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyYidcbn1cblxuLnJldmljb24tbGVmdC1vcGVuLW1pbmk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyMidcbn1cblxuLnJldmljb24tcmlnaHQtb3Blbi1taW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjMnXG59XG5cbi5yZXZpY29uLWxlZnQtb3Blbi1iaWc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyNCdcbn1cblxuLnJldmljb24tcmlnaHQtb3Blbi1iaWc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyNSdcbn1cblxuLnJldmljb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODM2J1xufVxuXG4ucmV2aWNvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODI2J1xufVxuXG4ucmV2aWNvbi1jY3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwOCdcbn1cblxuLnJldmljb24tYXJyb3dzLWNjdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA2J1xufVxuXG4ucmV2aWNvbi1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjknXG59XG5cbi5yZXZpY29uLWxpc3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGMnXG59XG5cbi5yZXZpY29uLWRvYzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA5J1xufVxuXG4ucmV2aWNvbi1sZWZ0LW9wZW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODJlJ1xufVxuXG4ucmV2aWNvbi1sZWZ0LW9wZW4tMjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODJjJ1xufVxuXG4ucmV2aWNvbi1yaWdodC1vcGVuLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyZidcbn1cblxuLnJldmljb24tcmlnaHQtb3Blbi0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MmQnXG59XG5cbi5yZXZpY29uLWVxdWFsaXplcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODNhJ1xufVxuXG4ucmV2aWNvbi1sYXllcnMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDQnXG59XG5cbi5yZXZpY29uLXBvcHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjgnXG59XG5cbi5yZXZfc2xpZGVyX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHdpZHRoOiAxMDAlXG59XG5cbi5yZXZfc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZVxufVxuXG4uZW50cnktY29udGVudCAucmV2X3NsaWRlciBhLCAucmV2X3NsaWRlciBhIHtcbiAgYm94LXNoYWRvdzogbm9uZVxufVxuXG4udHAtb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50XG59XG5cbi5ncm91cF9vdl9oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuXG59XG5cbi5yZXZfc2xpZGVyIGltZywgLnRwLXNpbXBsZXJlc3BvbnNpdmUgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lXG59XG5cbi5yZXZfc2xpZGVyIC5uby1zbGlkZXMtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDgwcHhcbn1cblxuLnJldl9zbGlkZXIgPiB1bCwgLnJldl9zbGlkZXIgPiB1bCA+IGxpLCAucmV2X3NsaWRlciA+IHVsID4gbGk6YmVmb3JlLCAucmV2X3NsaWRlcl93cmFwcGVyID4gdWwsIC50cC1yZXZzbGlkZXItbWFpbnVsID4gbGksIC50cC1yZXZzbGlkZXItbWFpbnVsID4gbGk6YmVmb3JlLCAudHAtc2ltcGxlcmVzcG9uc2l2ZSA+IHVsLCAudHAtc2ltcGxlcmVzcG9uc2l2ZSA+IHVsID4gbGksIC50cC1zaW1wbGVyZXNwb25zaXZlID4gdWwgPiBsaTpiZWZvcmUge1xuICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB0ZXh0LWluZGVudDogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwXG59XG5cbi5yZXZfc2xpZGVyID4gdWwgPiBsaSwgLnJldl9zbGlkZXIgPiB1bCA+IGxpOmJlZm9yZSwgLnRwLXJldnNsaWRlci1tYWludWwgPiBsaSwgLnRwLXJldnNsaWRlci1tYWludWwgPiBsaTpiZWZvcmUsIC50cC1zaW1wbGVyZXNwb25zaXZlID4gdWwgPiBsaSwgLnRwLXNpbXBsZXJlc3BvbnNpdmUgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlblxufVxuXG4udHAtcmV2c2xpZGVyLW1haW51bCwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudFxufVxuXG4uZnVsbHNjcmVlbi1jb250YWluZXIsIC5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5yZXZfc2xpZGVyIGxpLnRwLXJldnNsaWRlci1zbGlkZXNsaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50XG59XG5cbi50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrXG59XG5cbi50cC1jYXB0aW9uIC5ycy10b2dnbGVkLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lXG59XG5cbi5ycy10b2dnbGUtY29udGVudC1hY3RpdmUudHAtY2FwdGlvbiAucnMtdG9nZ2xlZC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2tcbn1cblxuLnJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZS50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLnJldl9zbGlkZXIgLmNhcHRpb24sIC5yZXZfc2xpZGVyIC50cC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxXG59XG5cbi5yZXZfc2xpZGVyIC5jYXB0aW9uLCAucmV2X3NsaWRlciAudHAtY2FwdGlvbiwgLnRwLXNpbXBsZXJlc3BvbnNpdmUgaW1nIHtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZVxufVxuXG4ucmV2X3NsaWRlciAudHAtbWFzay13cmFwIC50cC1jYXB0aW9uLCAucmV2X3NsaWRlciAudHAtbWFzay13cmFwIDpsYXN0LWNoaWxkLCAud3BiX3RleHRfY29sdW1uIC5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sIC53cGJfdGV4dF9jb2x1bW4gLnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBcbn1cblxuLnRwLXN2Zy1sYXllciBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLnRwLWNhcm91c2VsLXdyYXBwZXIge1xuICBjdXJzb3I6IHVybChvcGVuaGFuZC5jdXIpLCBtb3ZlXG59XG5cbi50cC1jYXJvdXNlbC13cmFwcGVyLmRyYWdnZWQge1xuICBjdXJzb3I6IHVybChjbG9zZWRoYW5kLmN1ciksIG1vdmVcbn1cblxuLnRwX2lubmVyX3BhZGRpbmcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnRwLWNhcHRpb24udHAtbGF5ZXItc2VsZWN0YWJsZSB7XG4gIC1tb3otdXNlci1zZWxlY3Q6IGFsbDtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBhbGw7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGFsbDtcbiAgLW8tdXNlci1zZWxlY3Q6IGFsbFxufVxuXG4udHAtY2FwdGlvbi50cC1oaWRkZW4tY2FwdGlvbiwgLnRwLWZvcmNlbm90dmlzaWJsZSwgLnRwLWhpZGUtcmV2c2xpZGVyLCAudHAtcGFyYWxsYXgtd3JhcC50cC1oaWRkZW4tY2FwdGlvbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnJldl9zbGlkZXIgYXVkaW8sIC5yZXZfc2xpZGVyIGVtYmVkLCAucmV2X3NsaWRlciBpZnJhbWUsIC5yZXZfc2xpZGVyIG9iamVjdCwgLnJldl9zbGlkZXIgdmlkZW8ge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudFxufVxuXG4udHAtZWxlbWVudC1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDBcbn1cblxuLnRwLWJsb2NrbWFzaywgLnRwLWJsb2NrbWFza19pbiwgLnRwLWJsb2NrbWFza19vdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTAwMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgc2NhbGVZKDApXG59XG5cbi50cC1wYXJhbGxheC13cmFwIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFxufVxuXG4ucmV2X3Jvd196b25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAwXG59XG5cbi5yZXZfY29sdW1uX2lubmVyLCAucmV2X3NsaWRlciAudHAtY2FwdGlvbi5yZXZfcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbi5yZXZfcm93X3pvbmVfdG9wIHtcbiAgdG9wOiAwXG59XG5cbi5yZXZfcm93X3pvbmVfbWlkZGxlIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKVxufVxuXG4ucmV2X3Jvd196b25lX2JvdHRvbSB7XG4gIGJvdHRvbTogMFxufVxuXG4ucmV2X3NsaWRlciAudHAtY2FwdGlvbi5yZXZfcm93IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDBcbn1cblxuLnJldl9jb2x1bW4ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAwXG59XG5cbi5yZXZfY29sdW1uX2lubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnRcbn1cblxuLnJldl9jb2x1bW5fYmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50XG59XG5cbi50cC1jYXB0aW9uIC5iYWNrY29ybmVyLCAudHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCwgLnRwLWNhcHRpb24gLmZyb250Y29ybmVyLCAudHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ0b3Age1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxufVxuXG4ucmV2X2NvbHVtbl9pbm5lciAudHAtbG9vcC13cmFwLCAucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwLCAucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXRcbn1cblxuLnJldl9jb2x1bW5faW5uZXIgLnRwLW1hc2std3JhcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG4ucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCwgLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLWxvb3Atd3JhcCwgLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMFxufVxuXG4udHAtdmlkZW8tcGxheS1idXR0b24sIC50cC12aWRlby1wbGF5LWJ1dHRvbiBpIHtcbiAgbGluZS1oZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyXG59XG5cbi5yZXZfY29sdW1uX2lubmVyIC5yZXZfbGF5ZXJfaW5fY29sdW1uLCAucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCwgLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLWxvb3Atd3JhcCwgLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3Bcbn1cblxuLnJldl9icmVha19jb2x1bW5zIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudFxufVxuXG4ucmV2X2JyZWFrX2NvbHVtbnMgLnRwLXBhcmFsbGF4LXdyYXAucmV2X2NvbHVtbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnRcbn1cblxuLmZ1bGx3aWR0aGJhbm5lci1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuXG59XG5cbi5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVyIC5mdWxsd2lkdGhhYmFubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4udHAtc3RhdGljLWxheWVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDBcbn1cblxuLnRwLWNhcHRpb24gLmZyb250Y29ybmVyIHtcbiAgYm9yZGVyLWxlZnQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogNDBweCBzb2xpZCAjMDBBOEZGO1xuICBsZWZ0OiAtNDBweFxufVxuXG4udHAtY2FwdGlvbiAuYmFja2Nvcm5lciB7XG4gIGJvcmRlci1sZWZ0OiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDQwcHggc29saWQgIzAwQThGRjtcbiAgcmlnaHQ6IDBcbn1cblxuLnRwLWNhcHRpb24gLmZyb250Y29ybmVydG9wIHtcbiAgYm9yZGVyLWxlZnQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCAjMDBBOEZGO1xuICBsZWZ0OiAtNDBweFxufVxuXG4udHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCB7XG4gIGJvcmRlci1sZWZ0OiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDQwcHggc29saWQgIzAwQThGRjtcbiAgcmlnaHQ6IDBcbn1cblxuLnRwLWxheWVyLWlubmVyLXJvdGF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnRcbn1cblxuaW1nLnRwLXNsaWRlci1hbHRlcm5hdGl2ZS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG9cbn1cblxuLmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciwgLnRwLWNhcHRpb24uY292ZXJzY3JlZW52aWRlbywgLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGVcbn1cblxuLm5vRmlsdGVyQ2xhc3Mge1xuICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudFxufVxuXG4ucnMtYmFja2dyb3VuZC12aWRlby1sYXllciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMFxufVxuXG4uY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gYXVkaW8sIC5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUsIC5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyB2aWRlbywgLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwgLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSBhdWRpbywgLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBub25lXG59XG5cbi5mdWxsY292ZXJlZHZpZGVvIGF1ZGlvLCAuZnVsbHNjcmVlbnZpZGVvIGF1ZGlvIC5mdWxsY292ZXJlZHZpZGVvIHZpZGVvLCAuZnVsbHNjcmVlbnZpZGVvIHZpZGVvIHtcbiAgYmFja2dyb3VuZDogIzAwMFxufVxuXG4uZnVsbGNvdmVyZWR2aWRlbyAudHAtcG9zdGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwXG59XG5cbi52aWRlb2lzcGxheWluZyAuaHRtbDV2aWQgLnRwLXBvc3RlciB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLnRwLXZpZGVvLXBsYXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2Utb3V0ICFpbXBvcnRhbnRcbn1cblxuLnRwLWF1ZGlvLWh0bWw1IC50cC12aWRlby1wbGF5LWJ1dHRvbiwgLnRwLWhpZGRlbmF1ZGlvIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi50cC1jYXB0aW9uIC5odG1sNXZpZCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50XG59XG5cbi50cC12aWRlby1wbGF5LWJ1dHRvbiBpIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudFxufVxuXG4ucnMtZnVsbHZpZGVvLWNvdmVyLCAudHAtZG90dGVkb3ZlcmxheSwgLnRwLXNoYWRvd2NvdmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxufVxuXG4udHAtY2FwdGlvbjpob3ZlciAudHAtdmlkZW8tcGxheS1idXR0b24ge1xuICBvcGFjaXR5OiAxO1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4udHAtY2FwdGlvbiAudHAtcmV2c3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZmZiAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjZmZmICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnRcbn1cblxuLnRwLXNlZWstYmFyLCAudHAtdmlkZW8tYnV0dG9uLCAudHAtdm9sdW1lLWJhciB7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlclxufVxuXG4udmlkZW9pc3BsYXlpbmcgLnJldmljb24tcmlnaHQtZGlyIHtcbiAgZGlzcGxheTogbm9uZVxufVxuXG4udmlkZW9pc3BsYXlpbmcgLnRwLXJldnN0b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbn1cblxuLnZpZGVvaXNwbGF5aW5nIC50cC12aWRlby1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLmZ1bGxjb3ZlcmVkdmlkZW8gLnRwLXZpZGVvLXBsYXktYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi5mdWxsc2NyZWVudmlkZW8gLmZ1bGxzY3JlZW52aWRlbyBhdWRpbywgLmZ1bGxzY3JlZW52aWRlbyAuZnVsbHNjcmVlbnZpZGVvIHZpZGVvIHtcbiAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50XG59XG5cbi5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gYXVkaW8sIC5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gdmlkZW8ge1xuICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50XG59XG5cbi50cC12aWRlby1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogNXB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCAxMyUsICMzMjMyMzIgMTAwJSk7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3hcbn1cblxuLnJldi1idG4ucmV2LWhpZGRlbmljb24gaSwgLnJldi1idG4ucmV2LXdpdGhpY29uIGkge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTVweFxufVxuXG4udHAtY2FwdGlvbjpob3ZlciAudHAtdmlkZW8tY29udHJvbHMge1xuICBvcGFjaXR5OiAuOVxufVxuXG4udHAtdmlkZW8tYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwXG59XG5cbi50cC12aWRlby1idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLnRwLXZpZGVvLWJ1dHRvbi13cmFwLCAudHAtdmlkZW8tc2Vlay1iYXItd3JhcCwgLnRwLXZpZGVvLXZvbC1iYXItd3JhcCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG59XG5cbi50cC12aWRlby1zZWVrLWJhci13cmFwIHtcbiAgd2lkdGg6IDgwJVxufVxuXG4udHAtdmlkZW8tdm9sLWJhci13cmFwIHtcbiAgd2lkdGg6IDIwJVxufVxuXG4udHAtc2Vlay1iYXIsIC50cC12b2x1bWUtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBcbn1cblxuLnJzLWZ1bGx2aWRlby1jb3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIHotaW5kZXg6IDVcbn1cblxuLmRpc2FibGVkX2xjIC50cC12aWRlby1wbGF5LWJ1dHRvbiwgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMsIC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnRwLWF1ZGlvLWh0bWw1IC50cC12aWRlby1jb250cm9scyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50XG59XG5cbi50cC1kb3R0ZWRvdmVybGF5IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDNcbn1cblxuLnRwLWRvdHRlZG92ZXJsYXkudHdveHR3byB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9hc3NldHMvZ3JpZHRpbGUucG5nKVxufVxuXG4udHAtZG90dGVkb3ZlcmxheS50d294dHdvd2hpdGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2dyaWR0aWxlX3doaXRlLnBuZylcbn1cblxuLnRwLWRvdHRlZG92ZXJsYXkudGhyZWV4dGhyZWUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2dyaWR0aWxlXzN4My5wbmcpXG59XG5cbi50cC1kb3R0ZWRvdmVybGF5LnRocmVleHRocmVld2hpdGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2dyaWR0aWxlXzN4M193aGl0ZS5wbmcpXG59XG5cbi50cC1zaGFkb3djb3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAtMVxufVxuXG4udHAtc2hhZG93MSB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCA2cHggLTZweCByZ2JhKDAsIDAsIDAsIC44KVxufVxuXG4udHAtc2hhZG93MjphZnRlciwgLnRwLXNoYWRvdzI6YmVmb3JlLCAudHAtc2hhZG93MzpiZWZvcmUsIC50cC1zaGFkb3c0OmFmdGVyIHtcbiAgei1pbmRleDogLTI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB3aWR0aDogNTAlO1xuICB0b3A6IDg1JTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIC44KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpXG59XG5cbi50cC1zaGFkb3cyOmFmdGVyLCAudHAtc2hhZG93NDphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0b1xufVxuXG4udHAtc2hhZG93NSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjMpLCAwIDAgNDBweCByZ2JhKDAsIDAsIDAsIC4xKSBpbnNldFxufVxuXG4udHAtc2hhZG93NTphZnRlciwgLnRwLXNoYWRvdzU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMjtcbiAgYm94LXNoYWRvdzogMCAwIDI1cHggMCByZ2JhKDAsIDAsIDAsIC42KTtcbiAgdG9wOiAzMCU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4LzIwcHhcbn1cblxuLnRwLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDZweCAxM3B4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC42KSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZVxufVxuXG4udHAtYnV0dG9uLmJpZyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA5cHggMjBweDtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBsaW5lLWhlaWdodDogNTdweCAhaW1wb3J0YW50XG59XG5cbi5wdXJjaGFzZTpob3ZlciwgLnRwLWJ1dHRvbi5iaWc6aG92ZXIsIC50cC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20sIDE1cHggMTFweFxufVxuXG4ucHVyY2hhc2UuZ3JlZW4sIC5wdXJjaGFzZTpob3Zlci5ncmVlbiwgLnRwLWJ1dHRvbi5ncmVlbiwgLnRwLWJ1dHRvbjpob3Zlci5ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWExMTc7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDAgMCAjMTA0ZDBiXG59XG5cbi5wdXJjaGFzZS5ibHVlLCAucHVyY2hhc2U6aG92ZXIuYmx1ZSwgLnRwLWJ1dHRvbi5ibHVlLCAudHAtYnV0dG9uOmhvdmVyLmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3OGNiO1xuICBib3gtc2hhZG93OiAwIDNweCAwIDAgIzBmM2U2OFxufVxuXG4ucHVyY2hhc2UucmVkLCAucHVyY2hhc2U6aG92ZXIucmVkLCAudHAtYnV0dG9uLnJlZCwgLnRwLWJ1dHRvbjpob3Zlci5yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IxZDFkO1xuICBib3gtc2hhZG93OiAwIDNweCAwIDAgIzdjMTIxMlxufVxuXG4ucHVyY2hhc2Uub3JhbmdlLCAucHVyY2hhc2U6aG92ZXIub3JhbmdlLCAudHAtYnV0dG9uLm9yYW5nZSwgLnRwLWJ1dHRvbjpob3Zlci5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjcwO1xuICBib3gtc2hhZG93OiAwIDNweCAwIDAgI2EzNGMwMFxufVxuXG4ucHVyY2hhc2UuZGFya2dyZXksIC5wdXJjaGFzZTpob3Zlci5kYXJrZ3JleSwgLnRwLWJ1dHRvbi5kYXJrZ3JleSwgLnRwLWJ1dHRvbi5ncmV5LCAudHAtYnV0dG9uOmhvdmVyLmRhcmtncmV5LCAudHAtYnV0dG9uOmhvdmVyLmdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICBib3gtc2hhZG93OiAwIDNweCAwIDAgIzIyMlxufVxuXG4ucHVyY2hhc2UubGlnaHRncmV5LCAucHVyY2hhc2U6aG92ZXIubGlnaHRncmV5LCAudHAtYnV0dG9uLmxpZ2h0Z3JleSwgLnRwLWJ1dHRvbjpob3Zlci5saWdodGdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xuICBib3gtc2hhZG93OiAwIDNweCAwIDAgIzU1NVxufVxuXG4ucmV2LWJ0biwgLnJldi1idG46dmlzaXRlZCB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTJweCAzNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLnJldi1idG4ucmV2LXVwcGVyY2FzZSwgLnJldi1idG4ucmV2LXVwcGVyY2FzZTp2aXNpdGVkIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogOTAwXG59XG5cbi5yZXYtYnRuLnJldi13aXRoaWNvbiBpIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnRcbn1cblxuLnJldi1idG4ucmV2LWhpZGRlbmljb24gaSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMCAhaW1wb3J0YW50XG59XG5cbi5yZXYtYnRuLnJldi1oaWRkZW5pY29uOmhvdmVyIGkge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnRcbn1cblxuLnJldi1idG4ucmV2LW1lZGl1bSwgLnJldi1idG4ucmV2LW1lZGl1bTp2aXNpdGVkIHtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTBweCAzMHB4XG59XG5cbi5yZXYtYnRuLnJldi1tZWRpdW0ucmV2LWhpZGRlbmljb24gaSwgLnJldi1idG4ucmV2LW1lZGl1bS5yZXYtd2l0aGljb24gaSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdG9wOiAwXG59XG5cbi5yZXYtYnRuLnJldi1zbWFsbCwgLnJldi1idG4ucmV2LXNtYWxsOnZpc2l0ZWQge1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiA3cHggMjBweFxufVxuXG4ucmV2LWJ0bi5yZXYtc21hbGwucmV2LWhpZGRlbmljb24gaSwgLnJldi1idG4ucmV2LXNtYWxsLnJldi13aXRoaWNvbiBpIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0b3A6IDBcbn1cblxuLnJldi1tYXhyb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHhcbn1cblxuLnJldi1taW5yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweFxufVxuXG4ucmV2LWJ1cmdlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMjJweCAwIDAgMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDUxLCA1MSwgNTEsIC4yNSk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlclxufVxuXG4ucmV2LWJ1cmdlciBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgdHJhbnNpdGlvbjogLjdzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBmbGF0ICFpbXBvcnRhbnRcbn1cblxuLnJldi1idXJnZXIucmV2Yi13aGl0ZSBzcGFuLCAucmV2LWJ1cmdlci5yZXZiLXdoaXRlbm9ib3JkZXIgc3BhbiB7XG4gIGJhY2tncm91bmQ6ICNmZmZcbn1cblxuLnJldi1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICBtYXJnaW46IDNweCAwXG59XG5cbiNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpmaXJzdC1jaGlsZCwgLm9wZW4gLnJldi1idXJnZXIgOmZpcnN0LWNoaWxkLCAub3Blbi5yZXYtYnVyZ2VyIDpmaXJzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSgtNDVkZWcpXG59XG5cbiNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpudGgtY2hpbGQoMiksIC5vcGVuIC5yZXYtYnVyZ2VyIDpudGgtY2hpbGQoMiksIC5vcGVuLnJldi1idXJnZXIgOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIG9wYWNpdHk6IDBcbn1cblxuI2RpYWxvZ19hZGRidXR0b24gLnJldi1idXJnZXI6aG92ZXIgOmxhc3QtY2hpbGQsIC5vcGVuIC5yZXYtYnVyZ2VyIDpsYXN0LWNoaWxkLCAub3Blbi5yZXYtYnVyZ2VyIDpsYXN0LWNoaWxkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSgtMTM1ZGVnKVxufVxuXG4ucmV2LWJ1cmdlci5yZXZiLXdoaXRlIHtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMilcbn1cblxuLnJldi1idXJnZXIucmV2Yi1kYXJrbm9ib3JkZXIsIC5yZXYtYnVyZ2VyLnJldmItd2hpdGVub2JvcmRlciB7XG4gIGJvcmRlcjogMFxufVxuXG4ucmV2LWJ1cmdlci5yZXZiLWRhcmtub2JvcmRlciBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzMzM1xufVxuXG4ucmV2LWJ1cmdlci5yZXZiLXdoaXRlZnVsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogbm9uZVxufVxuXG4ucmV2LWJ1cmdlci5yZXZiLXdoaXRlZnVsbCBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzMzM1xufVxuXG4ucmV2LWJ1cmdlci5yZXZiLWRhcmtmdWxsIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYm9yZGVyOiBub25lXG59XG5cbi5yZXYtYnVyZ2VyLnJldmItZGFya2Z1bGwgc3BhbiwgLnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbHdoaXRlIHtcbiAgYmFja2dyb3VuZDogI2ZmZlxufVxuXG5Aa2V5ZnJhbWVzIHJldi1hbmktbW91c2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDI5JVxuICB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDUwJVxuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDUwJVxuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdG9wOiAyOSVcbiAgfVxufVxuXG4ucmV2LXNjcm9sbC1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAyM3B4XG59XG5cbi5yZXYtc2Nyb2xsLWJ0biA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogcHJveGltYS1ub3ZhLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAycHhcbn1cblxuLnJldi1zY3JvbGwtYnRuID4gLmFjdGl2ZSwgLnJldi1zY3JvbGwtYnRuID4gOmZvY3VzLCAucmV2LXNjcm9sbC1idG4gPiA6aG92ZXIge1xuICBjb2xvcjogI2ZmZlxufVxuXG4ucmV2LXNjcm9sbC1idG4gPiAuYWN0aXZlLCAucmV2LXNjcm9sbC1idG4gPiA6YWN0aXZlLCAucmV2LXNjcm9sbC1idG4gPiA6Zm9jdXMsIC5yZXYtc2Nyb2xsLWJ0biA+IDpob3ZlciB7XG4gIG9wYWNpdHk6IC44XG59XG5cbi5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGx3aGl0ZSBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzMzM1xufVxuXG4ucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsZGFyayB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlcjogbm9uZVxufVxuXG4ucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsZGFyayBzcGFuLCAudHAtYnVsbGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZlxufVxuXG4ucmV2LXNjcm9sbC1idG4gc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMjklO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IC00cHggMCAwIC00cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiByZXYtYW5pLW1vdXNlIDIuNXMgbGluZWFyIGluZmluaXRlXG59XG5cbi5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWRhcmsge1xuICBib3JkZXItY29sb3I6ICMzMzNcbn1cblxuLnJldi1zY3JvbGwtYnRuLnJldnMtZGFyayBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzMzM1xufVxuXG4ucmV2LWNvbnRyb2wtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDU7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBSYWxld2F5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLnJldi1jYnV0dG9uLWRhcmstc3IsIC5yZXYtY2J1dHRvbi1saWdodC1zciB7XG4gIGJvcmRlci1yYWRpdXM6IDNweFxufVxuXG4ucmV2LWNidXR0b24tbGlnaHQsIC5yZXYtY2J1dHRvbi1saWdodC1zciB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSlcbn1cblxuLnJldi1zYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDM3cHhcbn1cblxuLnJldi1zYnV0dG9uLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I1OTk4XG59XG5cbi5yZXYtc2J1dHRvbi1saWdodGJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBMEQxXG59XG5cbi5yZXYtc2J1dHRvbi1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQ0QjM5XG59XG5cbi50cC1iYW5uZXJ0aW1lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4xNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjAwO1xuICB0b3A6IDBcbn1cblxuLnRwLWJhbm5lcnRpbWVyLnRwLWJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNXB4XG59XG5cbi50cC1jYXB0aW9uIGltZyB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDBGRkZGRkYsZW5kQ29sb3JzdHI9IzAwRkZGRkZGKVwiO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMEZGRkZGRiwgZW5kQ29sb3JzdHI9IzAwRkZGRkZGKTtcbiAgem9vbTogMVxufVxuXG4uY2FwdGlvbi5zbGlkZWxpbmsgYSBkaXYsIC50cC1jYXB0aW9uLnNsaWRlbGluayBhIGRpdiB7XG4gIHdpZHRoOiAzMDAwcHg7XG4gIGhlaWdodDogMTUwMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2NvbG9yZWRiZy5wbmcpXG59XG5cbi50cC1jYXB0aW9uLnNsaWRlbGluayBhIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2NvbG9yZWRiZy5wbmcpXG59XG5cbi50cC1sb2FkZXIuc3Bpbm5lcjAsIC50cC1sb2FkZXIuc3Bpbm5lcjUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYXNzZXRzL2xvYWRlci5naWYpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0XG59XG5cbi50cC1zaGFwZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCVcbn1cblxuLnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG59XG5cbi50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmcge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogI0ZGQzMyMSAhaW1wb3J0YW50XG59XG5cbi50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmcsIC50cC1jYXB0aW9uIC5ycy1zdGFycmluZy1wYWdlIC5zdGFyLXJhdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiA1LjRlbTtcbiAgZm9udC1mYW1pbHk6IHN0YXI7XG4gIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnRcbn1cblxuLnRwLWxvYWRlci5zcGlubmVyMCwgLnRwLWxvYWRlci5zcGlubmVyMSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGFuaW1hdGlvbjogdHAtcm90YXRlcGxhbmUgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgLjE1KVxufVxuXG4udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nOmJlZm9yZSwgLnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nLXBhZ2UgLnN0YXItcmF0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3M1xcNzNcXDczXFw3M1xcNzNcIjtcbiAgY29sb3I6ICNFMERBREY7XG4gIGZsb2F0OiBsZWZ0O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxufVxuXG4udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbG9hdDogbGVmdDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudFxufVxuXG4udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMFxufVxuXG4udHAtbG9hZGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTAwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXIwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlclxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXI1IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IC0yMnB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHhcbn1cblxuQGtleWZyYW1lcyB0cC1yb3RhdGVwbGFuZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKDApIHJvdGF0ZVkoMClcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MC4xZGVnKSByb3RhdGVZKDApXG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xNzkuOWRlZylcbiAgfVxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXIyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYW5pbWF0aW9uOiB0cC1zY2FsZW91dCAxcyBpbmZpbml0ZSBlYXNlLWluLW91dFxufVxuXG5Aa2V5ZnJhbWVzIHRwLXNjYWxlb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMClcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDBcbiAgfVxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXIzIHtcbiAgbWFyZ2luOiAtOXB4IDAgMCAtMzVweDtcbiAgd2lkdGg6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2UxLCAudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2UyLCAudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2UzIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYW5pbWF0aW9uOiB0cC1ib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoXG59XG5cbi50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTEge1xuICBhbmltYXRpb24tZGVsYXk6IC0uMzJzXG59XG5cbi50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTIge1xuICBhbmltYXRpb24tZGVsYXk6IC0uMTZzXG59XG5cbkBrZXlmcmFtZXMgdHAtYm91bmNlZGVsYXkge1xuICAwJSwgMTAwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApXG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXG4gIH1cbn1cblxuLnRwLWxvYWRlci5zcGlubmVyNCB7XG4gIG1hcmdpbjogLTIwcHggMCAwIC0yMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogdHAtcm90YXRlIDJzIGluZmluaXRlIGxpbmVhclxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXI0IC5kb3QxLCAudHAtbG9hZGVyLnNwaW5uZXI0IC5kb3QyIHtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA2MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGFuaW1hdGlvbjogdHAtYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgLjE1KVxufVxuXG4udHAtbG9hZGVyLnNwaW5uZXI0IC5kb3QyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzXG59XG5cbkBrZXlmcmFtZXMgdHAtcm90YXRlIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKVxuICB9XG59XG5cbkBrZXlmcmFtZXMgdHAtYm91bmNlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMClcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcbiAgfVxufVxuXG4udHAtYnVsbGV0cy5uYXZiYXIsIC50cC10YWJzLm5hdmJhciwgLnRwLXRodW1icy5uYXZiYXIge1xuICBib3JkZXI6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMFxufVxuXG4udHAtYnVsbGV0cywgLnRwLXRhYnMsIC50cC10aHVtYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDBcbn1cblxuLnRwLXRhYiwgLnRwLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IC41O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbi50cC1hcnItaW1naG9sZGVyLCAudHAtdGFiLWltYWdlLCAudHAtdGh1bWItaW1hZ2UsIC50cC12aWRlb3Bvc3RlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMFxufVxuXG4udHAtdGFiLnNlbGVjdGVkLCAudHAtdGFiOmhvdmVyLCAudHAtdGh1bWIuc2VsZWN0ZWQsIC50cC10aHVtYjpob3ZlciB7XG4gIG9wYWNpdHk6IDFcbn1cblxuLnRwLXRhYi1tYXNrLCAudHAtdGh1bWItbWFzayB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudFxufVxuXG4udHAtdGFicywgLnRwLXRodW1icyB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnRcbn1cblxuLnRwLWJ1bGxldCB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7XG4gIGN1cnNvcjogcG9pbnRlclxufVxuXG4udHAtYnVsbGV0LnNlbGVjdGVkLCAudHAtYnVsbGV0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZlxufVxuXG4udHBhcnJvd3Mge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDAwXG59XG5cbi50cGFycm93czpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDBcbn1cblxuLnRwYXJyb3dzOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiByZXZpY29ucztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuLmhnaW5mbywgLmhnbGF5ZXJpbmZvIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwXG59XG5cbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyNCdcbn1cblxuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyNSdcbn1cblxuYm9keS5ydGwgLnRwLWtiaW1nIHtcbiAgbGVmdDogMCAhaW1wb3J0YW50XG59XG5cbi5kZGR3cmFwcGVyc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCA0NXB4IDEwMHB4IHJnYmEoMCwgMCwgMCwgLjQpXG59XG5cbi5oZ2xheWVyaW5mbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogI0ZGRjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjc1KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHotaW5kZXg6IDIwMDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWxcbn1cblxuLmhlbHBncmlkLCAuaGdpbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlXG59XG5cbi5oZ2luZm8ge1xuICB0b3A6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG4gIGNvbG9yOiAjZTc0YzNjO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwYWRkaW5nOiAycHggNXB4XG59XG5cbi5pbmRlYnVnbW9kZSAudHAtY2FwdGlvbjpob3ZlciB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjYzAzOTJiICFpbXBvcnRhbnRcbn1cblxuLmhlbHBncmlkIHtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjMDM5MmI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMFxufVxuXG4jcmV2c2xpZGVybG9nbG9nbG9nIHtcbiAgcGFkZGluZzogMTVweDtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbFxufVxuXG4uYWRlbiB7XG4gIGZpbHRlcjogaHVlLXJvdGF0ZSgtMjBkZWcpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSguODUpIGJyaWdodG5lc3MoMS4yKVxufVxuXG4uYWRlbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoNjYsIDEwLCAxNCwgLjIpLCB0cmFuc3BhcmVudCk7XG4gIG1peC1ibGVuZC1tb2RlOiBkYXJrZW5cbn1cblxuLnBlcnBldHVhOjphZnRlciwgLnJleWVzOjphZnRlciB7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0O1xuICBvcGFjaXR5OiAuNVxufVxuXG4uaW5rd2VsbCB7XG4gIGZpbHRlcjogc2VwaWEoLjMpIGNvbnRyYXN0KDEuMSkgYnJpZ2h0bmVzcygxLjEpIGdyYXlzY2FsZSgxKVxufVxuXG4ucGVycGV0dWE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwNWI5YSwgI2U2YzEzZClcbn1cblxuLnJleWVzIHtcbiAgZmlsdGVyOiBzZXBpYSguMjIpIGJyaWdodG5lc3MoMS4xKSBjb250cmFzdCguODUpIHNhdHVyYXRlKC43NSlcbn1cblxuLnJleWVzOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNlZmNkYWRcbn1cblxuLmdpbmdoYW0ge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4wNSkgaHVlLXJvdGF0ZSgtMTBkZWcpXG59XG5cbi5naW5naGFtOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg2NiwgMTAsIDE0LCAuMiksIHRyYW5zcGFyZW50KTtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlblxufVxuXG4udG9hc3RlciB7XG4gIGZpbHRlcjogY29udHJhc3QoMS41KSBicmlnaHRuZXNzKC45KVxufVxuXG4udG9hc3Rlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjODA0ZTBmLCAjM2IwMDNiKTtcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlblxufVxuXG4ud2FsZGVuIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMSkgaHVlLXJvdGF0ZSgtMTBkZWcpIHNlcGlhKC4zKSBzYXR1cmF0ZSgxLjYpXG59XG5cbi53YWxkZW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzA0YztcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgb3BhY2l0eTogLjNcbn1cblxuLmh1ZHNvbiB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSgxLjEpXG59XG5cbi5odWRzb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2E2YjFmZiA1MCUsICMzNDIxMzQpO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIG9wYWNpdHk6IC41XG59XG5cbi5lYXJseWJpcmQge1xuICBmaWx0ZXI6IGNvbnRyYXN0KC45KSBzZXBpYSguMilcbn1cblxuLmVhcmx5YmlyZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjZDBiYThlIDIwJSwgIzM2MDMwOSA4NSUsICMxZDAyMTAgMTAwJSk7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5XG59XG5cbi5tYXlmYWlyIHtcbiAgZmlsdGVyOiBjb250cmFzdCgxLjEpIHNhdHVyYXRlKDEuMSlcbn1cblxuLm1heWZhaXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA0MCUgNDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KSwgcmdiYSgyNTUsIDIwMCwgMjAwLCAuNiksICMxMTEgNjAlKTtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gIG9wYWNpdHk6IC40XG59XG5cbi5sb2ZpIHtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgxLjEpIGNvbnRyYXN0KDEuNSlcbn1cblxuLmxvZmk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgNzAlLCAjMjIyIDE1MCUpO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHlcbn1cblxuLl8xOTc3IHtcbiAgZmlsdGVyOiBjb250cmFzdCgxLjEpIGJyaWdodG5lc3MoMS4xKSBzYXR1cmF0ZSgxLjMpXG59XG5cbi5fMTk3NzphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQzLCAxMDYsIDE4OCwgLjMpO1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuXG59XG5cbi5icm9va2x5biB7XG4gIGZpbHRlcjogY29udHJhc3QoLjkpIGJyaWdodG5lc3MoMS4xKVxufVxuXG4uYnJvb2tseW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgxNjgsIDIyMywgMTkzLCAuNCkgNzAlLCAjYzRiN2M4KTtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXlcbn1cblxuLnhwcm8yIHtcbiAgZmlsdGVyOiBzZXBpYSguMylcbn1cblxuLnhwcm8yOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICNlNmU3ZTAgNDAlLCByZ2JhKDQzLCA0MiwgMTYxLCAuNikgMTEwJSk7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuXG59XG5cbi5uYXNodmlsbGUge1xuICBmaWx0ZXI6IHNlcGlhKC4yKSBjb250cmFzdCgxLjIpIGJyaWdodG5lc3MoMS4wNSkgc2F0dXJhdGUoMS4yKVxufVxuXG4ubmFzaHZpbGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgNzAsIDE1MCwgLjQpO1xuICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlblxufVxuXG4ubmFzaHZpbGxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMTc2LCAxNTMsIC41Nik7XG4gIG1peC1ibGVuZC1tb2RlOiBkYXJrZW5cbn1cblxuLmxhcmsge1xuICBmaWx0ZXI6IGNvbnRyYXN0KC45KVxufVxuXG4ubGFyazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIC44KTtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlblxufVxuXG4ubGFyazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIyMjUzZjtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlXG59XG5cbi5tb29uIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSkgY29udHJhc3QoMS4xKSBicmlnaHRuZXNzKDEuMSlcbn1cblxuLm1vb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhMGEwYTA7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0XG59XG5cbi5tb29uOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMzODM4Mzg7XG4gIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuXG59XG5cbi5jbGFyZW5kb24ge1xuICBmaWx0ZXI6IGNvbnRyYXN0KDEuMikgc2F0dXJhdGUoMS4zNSlcbn1cblxuLmNsYXJlbmRvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMTg3LCAyMjcsIC4yKTtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXlcbn1cblxuLndpbGxvdyB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKC41KSBjb250cmFzdCguOTUpIGJyaWdodG5lc3MoLjkpXG59XG5cbi53aWxsb3c6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJhZGlhbC1ncmFkaWVudCg0MCUsIGNpcmNsZSwgI2Q0YTlhZiA1NSUsICMwMDAgMTUwJSk7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5XG59XG5cbi53aWxsb3c6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4Y2RjYjtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yXG59XG5cbi5yaXNlIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDUpIHNlcGlhKC4yKSBjb250cmFzdCguOSkgc2F0dXJhdGUoLjkpXG59XG5cbi5yaXNlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjMyLCAxOTcsIDE1MiwgLjgpLCB0cmFuc3BhcmVudCA5MCUpO1xuICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgb3BhY2l0eTogLjZcbn1cblxuLnJpc2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjM2LCAyMDUsIDE2OSwgLjE1KSA1NSUsIHJnYmEoNTAsIDMwLCA3LCAuNCkpO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHlcbn1cblxuLl8xOTc3OmFmdGVyLCAuXzE5Nzc6YmVmb3JlLCAuYWRlbjphZnRlciwgLmFkZW46YmVmb3JlLCAuYnJvb2tseW46YWZ0ZXIsIC5icm9va2x5bjpiZWZvcmUsIC5jbGFyZW5kb246YWZ0ZXIsIC5jbGFyZW5kb246YmVmb3JlLCAuZWFybHliaXJkOmFmdGVyLCAuZWFybHliaXJkOmJlZm9yZSwgLmdpbmdoYW06YWZ0ZXIsIC5naW5naGFtOmJlZm9yZSwgLmh1ZHNvbjphZnRlciwgLmh1ZHNvbjpiZWZvcmUsIC5pbmt3ZWxsOmFmdGVyLCAuaW5rd2VsbDpiZWZvcmUsIC5sYXJrOmFmdGVyLCAubGFyazpiZWZvcmUsIC5sb2ZpOmFmdGVyLCAubG9maTpiZWZvcmUsIC5tYXlmYWlyOmFmdGVyLCAubWF5ZmFpcjpiZWZvcmUsIC5tb29uOmFmdGVyLCAubW9vbjpiZWZvcmUsIC5uYXNodmlsbGU6YWZ0ZXIsIC5uYXNodmlsbGU6YmVmb3JlLCAucGVycGV0dWE6YWZ0ZXIsIC5wZXJwZXR1YTpiZWZvcmUsIC5yZXllczphZnRlciwgLnJleWVzOmJlZm9yZSwgLnJpc2U6YWZ0ZXIsIC5yaXNlOmJlZm9yZSwgLnNsdW1iZXI6YWZ0ZXIsIC5zbHVtYmVyOmJlZm9yZSwgLnRvYXN0ZXI6YWZ0ZXIsIC50b2FzdGVyOmJlZm9yZSwgLndhbGRlbjphZnRlciwgLndhbGRlbjpiZWZvcmUsIC53aWxsb3c6YWZ0ZXIsIC53aWxsb3c6YmVmb3JlLCAueHBybzI6YWZ0ZXIsIC54cHJvMjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZVxufVxuXG4uXzE5NzcsIC5hZGVuLCAuYnJvb2tseW4sIC5jbGFyZW5kb24sIC5lYXJseWJpcmQsIC5naW5naGFtLCAuaHVkc29uLCAuaW5rd2VsbCwgLmxhcmssIC5sb2ZpLCAubWF5ZmFpciwgLm1vb24sIC5uYXNodmlsbGUsIC5wZXJwZXR1YSwgLnJleWVzLCAucmlzZSwgLnNsdW1iZXIsIC50b2FzdGVyLCAud2FsZGVuLCAud2lsbG93LCAueHBybzIge1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLl8xOTc3IGltZywgLmFkZW4gaW1nLCAuYnJvb2tseW4gaW1nLCAuY2xhcmVuZG9uIGltZywgLmVhcmx5YmlyZCBpbWcsIC5naW5naGFtIGltZywgLmh1ZHNvbiBpbWcsIC5pbmt3ZWxsIGltZywgLmxhcmsgaW1nLCAubG9maSBpbWcsIC5tYXlmYWlyIGltZywgLm1vb24gaW1nLCAubmFzaHZpbGxlIGltZywgLnBlcnBldHVhIGltZywgLnJleWVzIGltZywgLnJpc2UgaW1nLCAuc2x1bWJlciBpbWcsIC50b2FzdGVyIGltZywgLndhbGRlbiBpbWcsIC53aWxsb3cgaW1nLCAueHBybzIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDFcbn1cblxuLl8xOTc3OmJlZm9yZSwgLmFkZW46YmVmb3JlLCAuYnJvb2tseW46YmVmb3JlLCAuY2xhcmVuZG9uOmJlZm9yZSwgLmVhcmx5YmlyZDpiZWZvcmUsIC5naW5naGFtOmJlZm9yZSwgLmh1ZHNvbjpiZWZvcmUsIC5pbmt3ZWxsOmJlZm9yZSwgLmxhcms6YmVmb3JlLCAubG9maTpiZWZvcmUsIC5tYXlmYWlyOmJlZm9yZSwgLm1vb246YmVmb3JlLCAubmFzaHZpbGxlOmJlZm9yZSwgLnBlcnBldHVhOmJlZm9yZSwgLnJleWVzOmJlZm9yZSwgLnJpc2U6YmVmb3JlLCAuc2x1bWJlcjpiZWZvcmUsIC50b2FzdGVyOmJlZm9yZSwgLndhbGRlbjpiZWZvcmUsIC53aWxsb3c6YmVmb3JlLCAueHBybzI6YmVmb3JlIHtcbiAgei1pbmRleDogMlxufVxuXG4uXzE5Nzc6YWZ0ZXIsIC5hZGVuOmFmdGVyLCAuYnJvb2tseW46YWZ0ZXIsIC5jbGFyZW5kb246YWZ0ZXIsIC5lYXJseWJpcmQ6YWZ0ZXIsIC5naW5naGFtOmFmdGVyLCAuaHVkc29uOmFmdGVyLCAuaW5rd2VsbDphZnRlciwgLmxhcms6YWZ0ZXIsIC5sb2ZpOmFmdGVyLCAubWF5ZmFpcjphZnRlciwgLm1vb246YWZ0ZXIsIC5uYXNodmlsbGU6YWZ0ZXIsIC5wZXJwZXR1YTphZnRlciwgLnJleWVzOmFmdGVyLCAucmlzZTphZnRlciwgLnNsdW1iZXI6YWZ0ZXIsIC50b2FzdGVyOmFmdGVyLCAud2FsZGVuOmFmdGVyLCAud2lsbG93OmFmdGVyLCAueHBybzI6YWZ0ZXIge1xuICB6LWluZGV4OiAzXG59XG5cbi5zbHVtYmVyIHtcbiAgZmlsdGVyOiBzYXR1cmF0ZSguNjYpIGJyaWdodG5lc3MoMS4wNSlcbn1cblxuLnNsdW1iZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEwNSwgMjQsIC41KTtcbiAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHRcbn1cblxuLnNsdW1iZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjksIDQxLCAxMiwgLjQpO1xuICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlblxufVxuXG4udHAta2JpbWctd3JhcDphZnRlciwgLnRwLWtiaW1nLXdyYXA6YmVmb3JlIHtcbiAgaGVpZ2h0OiA1MDAlO1xuICB3aWR0aDogNTAwJVxufSIsIi5jb250ZW50LXBpY3R1cmUtd3JhcHBlcntcbiAgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLnN0YXJ0LXRleHR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGltZy1kZXNjcmlwdGlvbi1mdWxsLWJnLWNvbG9yO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcbiAgICAuc21hbGwtaGVhZHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAxcztcbiAgICB9XG4gICAgaDN7XG4gICAgICBjb2xvcjogJGltZy1kZXNjcmlwdGlvbi1mdWxsLXRleHQtY29sb3I7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAxcztcbiAgICB9XG4gICAgLnN0YXJ0LWNvbnRlbnR7XG4gICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMXM7XG4gICAgfVxuICAgIC5zbWFsbC1oZWFkLCBoMywgLnN0YXJ0LWNvbnRlbnR7XG4gICAgICBjb2xvcjogJGltZy1kZXNjcmlwdGlvbi1mdWxsLXRleHQtY29sb3I7XG4gICAgfVxuICAgIC5idG57XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5zdGFydC1waWN0dXJlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAuc3RhcnQtcGljdHVyZSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC40KTtcbiAgICB9XG4gIH1cblxuICAucm93e1xuICAgICY6aG92ZXJ7XG5cbiAgICAgIC5zdGFydC1waWN0dXJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAuc3RhcnQtdGV4dHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltZy1kZXNjcmlwdGlvbi1mdWxsLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAuc21hbGwtaGVhZCwgaDMsIC5zdGFydC1jb250ZW50e1xuICAgICAgICAgIGNvbG9yOiAkaW1nLWRlc2NyaXB0aW9uLWZ1bGwtdGV4dC1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiNzaWRlLWNvbnRhY3Qge1xuICB3aWR0aDogMjcwcHg7XG4gIGhlaWdodDogODBweDtcbiAgdG9wOiA3MCU7XG4gIHJpZ2h0OiAtMjIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogJHNpZGUtY29udGFjdC1iZy1jb2xvcjtcbiAgY29sb3I6ICRzaWRlLWNvbnRhY3QtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB6LWluZGV4OiA5OTk7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMXM7XG5cbiAgJjpob3ZlciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuZmEtcGhvbmUtc3F1YXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuICAuZmEtZW52ZWxvcGUtc3F1YXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxuXG4gIC5zaWRlLWxpbmtzIHtcbiAgICBjb2xvcjogJHNpZGUtY29udGFjdC10ZXh0LWNvbG9yO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1jb250YWN0LXRleHQtY29sb3I7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0b3A6IDE1cHg7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRzaWRlLWNvbnRhY3QtdGV4dC1jb2xvci1ob3ZlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRub3JtYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zY3JvbGx1cCB7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNTBweDtcbiAgcmlnaHQ6IDEwMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90b3AucG5nKSBuby1yZXBlYXQ7XG59IiwiLmJnLWNvbnRlbnQtcHJpbWFyeXtcbiAgcGFkZGluZy10b3A6ICRiZy1jb250ZW50LXByaW1hcnktcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRiZy1jb250ZW50LXByaW1hcnktcGFkZGluZztcbn1cblxuLmJnLWNvbnRlbnQtc2Vjb25kYXJ5e1xuICBwYWRkaW5nLXRvcDogJGJnLWNvbnRlbnQtc2Vjb25kYXJ5LXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkYmctY29udGVudC1zZWNvbmRhcnktcGFkZGluZztcbn1cblxuLnF1b3Rld3JhcHBlcntcbiAgcGFkZGluZy10b3A6ICRjdXN0b213cmFwcGVyLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9td3JhcHBlci1wYWRkaW5nO1xufSIsIi5zZXBhcmF0b3J7XG4gIGhlaWdodDogJHNlcGFyYXRvci1oZWlnaHQ7XG4gIGJhY2tncm91bmQ6ICRzZXBhcmF0b3ItY29sb3I7XG4gIHdpZHRoOiA2MHB4O1xuICBtYXJnaW46IDI5cHggMCAyOXB4O1xufSIsIi5iZy1jb250ZW50LXByaW1hcnl7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50LXByaW1hcnk7XG59XG5cbi5iZy1jb250ZW50LXNlY29uZGFyeXtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQtc2Vjb25kYXJ5O1xufSIsIi5jb29raWUtd3JhcHBlcntcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IC0yMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBib3JkZXItdG9wOiAxcHggI2VlZSBzb2xpZDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDFzO1xuICAmLmNsaWNrZWR7XG4gICAgYm90dG9tOiAtMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuYnRue1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgJjpiZWZvcmV7XG4gICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBmb3Jte1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuYnV0dG9ucywgLnRleHR7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIHB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59IiwiYm9keXtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5xdWlja2NvbnRhY3Qge1xuICBtYXJnaW46IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4uaW1nLWxpbmstd3JhcHBlciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGltZyB7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRwcmltYXJ5O1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkcHJpbWFyeTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaW1nLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBTb2xpZFwiO1xuICAgICAgY29udGVudDogXCJcXGYwNWFcIjtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTdweCk7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE3cHgpO1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIH1cbiAgfVxuICAubGluay13cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjVzO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmltZy13cmFwcGVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjIpO1xuICAgICAgfVxuICAgIH1cbiAgICAubGluay13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICBhe1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uYmctY29udGVudC1wcmltYXJ5LCBoZWFkZXIgLmhvbGRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9iZy1lZmZla3QtbGlnaHQuanBnXCIpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG4gICYuZmlyc3Ryb3cge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9iZy1wbGFuLnBuZ1wiKTtcbiAgfVxufVxuXG4uYmctY29udGVudC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmctZWZmZWt0LmpwZ1wiKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhO1xufVxuXG4uYmctY29udGVudC1wcmltYXJ5LCAuYmctY29udGVudC1zZWNvbmRhcnkge1xuICBoMXtcbiAgICAraDJ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgfVxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgfVxufVxuXG4uc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICBjb2xvcjogJHByaW1hcnk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbml0aWFsO1xuICB3aWR0aDogaW5pdGlhbDtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5uYXZiYXItbmF2IHtcbiAgPiBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICBtaW4td2lkdGg6IDIzM3B4O1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgYXtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbmgxLCAuaDEge1xuICBjb2xvcjogJHByaW1hcnk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiNtb2JpbGUtbmF2LXdyYXBwZXIge1xuICBsZWZ0OiAzNjdweDtcbiAgLm5hdmJhci10b2dnbGVyLCAubGVmdC1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2JnLWVmZmVrdC1saWdodC5qcGdcIik7XG4gIH1cbn1cblxuLnNlcnZpY2Vze1xuICBzdmd7XG4gICAgY29sb3I6ICNiM2IyYjI7XG4gIH1cbiAgcHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuXG4jYnRuLXByb2plY3QtY29udGFjdHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTE1cHg7XG4gIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuYVtkYXRhLWZhbmN5Ym94PVwiZ2FsbGVyeVwiXSA+IGltZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkYWRhZGE7XG59XG5cbi5xdWlja2NvbnRhY3QgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuZm9vdGVyIHtcbiAgLmxpbmtyb3csIC5saW5rcm93IGF7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuICB9XG4gIGg1e1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIHB7XG4gICAgZm9udC1zaXplOiAxcmVtXG4gIH1cbn1cbi5zbGljay1uZXh0e1xuICByaWdodDogLTE1cHg7XG59XG4uc2xpY2stcHJldntcbiAgbGVmdDogLTE1cHg7XG59XG4jc2lkZS1jb250YWN0e1xuICB3aWR0aDogMjIwcHg7XG4gIHJpZ2h0OiAtMTcwcHg7XG59XG4uZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXN7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI21hcHtcbiAgbWFyZ2luLXRvcDogMTM3cHg7XG59XG4jY29udGFjdGZvcm17XG4gIGxhYmVse1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNntcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbmZvb3RlcntcbiAgcGFkZGluZzogODVweCAwIDcwcHg7XG59XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLm5hdmJhci1uYXYgPiBsaSBhIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5uYXZiYXItbmF2ID4gbGkge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG4gIC5pbWctbGluay13cmFwcGVyIHtcbiAgICAubGluay13cmFwcGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cbiAgI21vYmlsZS1uYXYtd3JhcHBlciB7XG4gICAgdG9wOiAzN3B4O1xuICB9XG4gICNtYXAge1xuICAgIG1hcmdpbi10b3A6IDExMnB4O1xuICB9XG59XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgLm5hdmJhci1uYXYgPiBsaSB7XG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG4gIC5pbWctbGluay13cmFwcGVyIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbiAgI21vYmlsZS1uYXYtd3JhcHBlciAubGVmdC1yaWdodCB7XG4gICAgd2lkdGg6IDg0JTtcbiAgfVxuICAjbWFwIHtcbiAgICBtYXJnaW4tdG9wOiA5OHB4O1xuICB9XG4gIC5zZXJ2aWNlcyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKXtcbiAgI21vYmlsZS1uYXYtd3JhcHBlciB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbiAgLnNsaWRlLW5vcm1hbCB7XG4gICAgbWFyZ2luLXRvcDogNjJweDtcbiAgfVxuICAjbWFwIHtcbiAgICBtYXJnaW4tdG9wOiA2MnB4O1xuICB9XG4gICNtb2JpbGUtbmF2LXdyYXBwZXIgLmxlZnQtcmlnaHQge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLnNlcnZpY2VzIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICAjYnRuLXByb2plY3QtY29udGFjdHtcbiAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sQ0FBQyx3RUFBSTtBQ0ZaLEFBQUEsSUFBSSxBQUFBLGdCQUFnQixDQUFDO0VBQ25CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDZixXQUFXLEVBQUUsS0FBSztFQUNsQixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxPQUFPO0VBQ25CLFFBQVEsRUFBRSxLQUFLO0VBQ2YsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLFVBQVUsR0FDcEI7O0FBQ0QsQUFBQSxnQkFBZ0IsQUFBQSx1QkFBdUIsQUFBQSxPQUFPO0FBQzlDLGdCQUFnQixBQUFBLHlCQUF5QixBQUFBLE9BQU8sQ0FBQztFQUMvQyxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsZ0JBQWdCLEVBQUUsb0ZBQW9GO0VBQ3RHLGdCQUFnQixFQUFFLGlGQUFpRjtFQUNuRyxnQkFBZ0IsRUFBRSxnRkFBZ0Y7RUFDbEcsZ0JBQWdCLEVBQUUsK0VBQStFO0VBQ2pHLGdCQUFnQixFQUFFLDRFQUE0RSxHQUMvRjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLFNBQVMsQ0FBQztFQUN4QixPQUFPLEVBQUUsQ0FBQztFQUNWLGtCQUFrQixFQUFFLHdCQUF3QjtFQUM1QyxlQUFlLEVBQUUsd0JBQXdCO0VBQ3pDLGNBQWMsRUFBRSx3QkFBd0I7RUFDeEMsYUFBYSxFQUFFLHdCQUF3QjtFQUN2QyxVQUFVLEVBQUUsd0JBQXdCLEdBQ3JDOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUM7RUFDcEMsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELGlCQUFpQjtBQUVqQixBQUFBLGdCQUFnQixBQUFBLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDO0VBQ2xFLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsWUFBWSxFQUFFLEdBQUc7RUFDakIsWUFBWSxFQUFFLEtBQUs7RUFDbkIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsYUFBYTtFQUMxQixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCO0VBQzNDLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsdUJBQXVCLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0VBQ3hFLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxJQUFJO0VBQ1YsTUFBTSxFQUFFLHFCQUFxQjtFQUM3QixpQkFBaUIsRUFBRSxPQUFPO0VBQzFCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLGlCQUFpQixFQUFFLDJCQUEyQjtFQUM5QyxjQUFjLEVBQUUsMkJBQTJCO0VBQzNDLGFBQWEsRUFBRSwyQkFBMkI7RUFDMUMsWUFBWSxFQUFFLDJCQUEyQjtFQUN6QyxTQUFTLEVBQUUsMkJBQTJCLEdBQ3ZDOztBQUVELGVBQWU7QUFFZixBQUFBLGdCQUFnQixBQUFBLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDO0VBQzVELFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUMsR0FDUjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO0VBQ3pELFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHLEdBQ2I7O0FBRUQsZUFBZTtBQUVmLEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUMsdUJBQXVCLENBQUM7RUFDNUQsS0FBSyxFQUFFLE9BQU87RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLEdBQUc7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxJQUFJO0VBQ1osY0FBYyxFQUFFLEdBQUc7RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQztFQUNoRSxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxJQUFJLEVBQUUsRUFBRTtFQUNSLGdCQUFnQixFQUFFLE9BQU87RUFDekIsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsaUJBQWlCLEdBQzFCOztBQUVELHFCQUFxQjtBQUVyQixBQUFBLGdCQUFnQixBQUFBLDJCQUEyQixDQUFDLHVCQUF1QixDQUFDO0VBQ2xFLEtBQUssRUFBRSxPQUFPO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxHQUFHO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsSUFBSTtFQUNaLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSwyQkFBMkIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7RUFDdkUsT0FBTyxFQUFFLFlBQVk7RUFDckIsaUJBQWlCLEVBQUUsUUFBUTtFQUMzQixjQUFjLEVBQUUsUUFBUTtFQUN4QixhQUFhLEVBQUUsUUFBUTtFQUN2QixZQUFZLEVBQUUsUUFBUTtFQUN0QixTQUFTLEVBQUUsUUFBUSxHQUNwQjs7QUFFRCxBQUFBLGdCQUFnQixBQUFBLDJCQUEyQixDQUFDLHVCQUF1QixDQUFDLElBQUksQUFBQSxPQUFPLENBQUM7RUFDOUUsaUJBQWlCLEVBQUUsbUJBQW1CO0VBQ3RDLGNBQWMsRUFBRSxtQkFBbUI7RUFDbkMsYUFBYSxFQUFFLG1CQUFtQjtFQUNsQyxZQUFZLEVBQUUsbUJBQW1CO0VBQ2pDLFNBQVMsRUFBRSxtQkFBbUIsR0FDL0I7O0FBRUQsZUFBZTtBQUVmLEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUMsdUJBQXVCLENBQUM7RUFDNUQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxHQUFHLEVBQUUsR0FBRztFQUNSLE1BQU0sRUFBRSxHQUFHO0VBQ1gsUUFBUSxFQUFFLE1BQU07RUFDaEIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QixpQkFBaUIsRUFBRSxTQUFTO0VBQzVCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLGFBQWEsRUFBRSxHQUFHLEdBQ25COztBQUNELEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDO0VBQ2hFLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxFQUFFO0VBQ1YsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsaUJBQWlCLEdBQzFCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEscUJBQXFCLENBQUMsMkJBQTJCLENBQUM7RUFDaEUsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRztFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsT0FBTztFQUNkLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBRUQsbUJBQW1CO0FBRW5CLEFBQUEsZ0JBQWdCLEFBQUEseUJBQXlCLENBQUMsMkJBQTJCLENBQUM7RUFDcEUsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLE9BQU87RUFDZCxLQUFLLEVBQUUsd0JBQXdCO0VBQy9CLFdBQVcsRUFBRSxhQUFhO0VBQzFCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBQ0QsQUFBQSxnQkFBZ0IsQUFBQSx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQztFQUNoRSxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsb0JBQW9CO0VBQzVCLGdCQUFnQixFQUFFLGtCQUFrQixHQUNyQzs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDO0VBQy9ELEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsT0FBTyxHQUMxQjs7QUFHRCxrQkFBa0IsQ0FBbEIsTUFBa0I7RUFDaEIsRUFBRTtJQUFHLGlCQUFpQixFQUFFLFNBQVM7RUFDakMsSUFBSTtJQUFHLGlCQUFpQixFQUFFLGNBQWM7O0FBRTFDLGVBQWUsQ0FBZixNQUFlO0VBQ2IsRUFBRTtJQUFHLGNBQWMsRUFBRSxTQUFTO0VBQzlCLElBQUk7SUFBRyxjQUFjLEVBQUUsY0FBYzs7QUFFdkMsY0FBYyxDQUFkLE1BQWM7RUFDWixBQUFBLEVBQUUsQ0FBQztJQUFFLGFBQWEsRUFBRSxTQUFTLEdBQUk7RUFDakMsQUFBQSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUUsY0FBYyxHQUFJOztBQUUxQyxhQUFhLENBQWIsTUFBYTtFQUNYLEVBQUU7SUFBRyxZQUFZLEVBQUUsU0FBUztFQUM1QixJQUFJO0lBQUcsWUFBWSxFQUFFLGNBQWM7O0FBRXJDLFVBQVUsQ0FBVixNQUFVO0VBQ1IsRUFBRTtJQUFHLFNBQVMsRUFBRSxTQUFTO0VBQ3pCLElBQUk7SUFBRyxTQUFTLEVBQUUsY0FBYzs7QUFHbEMsa0JBQWtCLENBQWxCLEtBQWtCO0VBQ2hCLEVBQUU7SUFBRyxpQkFBaUIsRUFBRSxRQUFRO0lBQUUsT0FBTyxFQUFFLENBQUM7RUFDNUMsR0FBRztJQUFHLGlCQUFpQixFQUFFLFFBQVE7SUFBRyxPQUFPLEVBQUUsR0FBRztFQUNoRCxJQUFJO0lBQUcsaUJBQWlCLEVBQUUsUUFBUTtJQUFHLE9BQU8sRUFBRSxDQUFDOztBQUVqRCxlQUFlLENBQWYsS0FBZTtFQUNiLEVBQUU7SUFBRyxjQUFjLEVBQUUsUUFBUTtJQUFFLE9BQU8sRUFBRSxDQUFDO0VBQ3pDLEdBQUc7SUFBRyxjQUFjLEVBQUUsUUFBUTtJQUFFLE9BQU8sRUFBRSxHQUFHO0VBQzVDLElBQUk7SUFBRyxjQUFjLEVBQUUsUUFBUTtJQUFFLE9BQU8sRUFBRSxDQUFDOztBQUU3QyxjQUFjLENBQWQsS0FBYztFQXRCWixBQUFBLEVBQUUsQ0F1QkM7SUFBRSxhQUFhLEVBQUUsUUFBUTtJQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUc7RUFDM0MsQUFBQSxHQUFHLENBQUM7SUFBRSxhQUFhLEVBQUUsUUFBUTtJQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUc7RUF2QjlDLEFBQUEsSUFBSSxDQXdCQztJQUFFLGFBQWEsRUFBRSxRQUFRO0lBQUUsT0FBTyxFQUFFLENBQUMsR0FBRzs7QUFFL0MsYUFBYSxDQUFiLEtBQWE7RUFDWCxFQUFFO0lBQUcsWUFBWSxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsQ0FBQztFQUN2QyxHQUFHO0lBQUcsWUFBWSxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsR0FBRztFQUMxQyxJQUFJO0lBQUcsWUFBWSxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsQ0FBQzs7QUFFM0MsVUFBVSxDQUFWLEtBQVU7RUFDUixFQUFFO0lBQUcsU0FBUyxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsQ0FBQztFQUNwQyxHQUFHO0lBQUcsU0FBUyxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsR0FBRztFQUN2QyxJQUFJO0lBQUcsU0FBUyxFQUFFLFFBQVE7SUFBRSxPQUFPLEVBQUUsQ0FBQzs7QUUzUXhDOzs7OztHQUtHO0FvQ0pILEFBQUEsS0FBSyxDQUFDO0VBR0YsTUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxLQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxPQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxPQUFXLENBQUUsS0FBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsV0FBVyxDQUFFLFFBQUM7RUFJZCxTQUFXLENBQUUsUUFBQztFQUFkLFdBQVcsQ0FBRSxRQUFDO0VBQWQsU0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLFNBQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxPQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBSWQsZUFBbUIsQ0FBYSxFQUFDO0VBQWpDLGVBQW1CLENBQWEsTUFBQztFQUFqQyxlQUFtQixDQUFhLE1BQUM7RUFBakMsZUFBbUIsQ0FBYSxNQUFDO0VBQWpDLGVBQW1CLENBQWEsT0FBQztFQUtuQyx3QkFBd0IsQ0FBQSx3QkFBQztFQUN6Qix1QkFBdUIsQ0FBQSxxRkFBQyxHQUN6Qjs7QUNERCxBQUFBLENBQUM7QUFDRCxDQUFDLEFBQUEsUUFBUTtBQUNULENBQUMsQUFBQSxPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsVUFBVSxHQUN2Qjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLHdCQUF3QixFQUFFLElBQUk7RUFDOUIsMkJBQTJCLEVuQ1hsQixnQkFBSSxHbUNZZDs7QUFLRCxBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztFQUM3RSxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQVNELEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUM7RUFDVCxXQUFXLEV0Q2VZLFdBQVcsRUFBRSxVQUFVO0VLaUUxQyxTQUFTLEVBdENFLElBQUM7RWlDeENoQixXQUFXLEVuQ2tQaUIsR0FBRztFbUNqUC9CLFdBQVcsRXRDY00sR0FBRztFc0NicEIsS0FBSyxFbkNuQ0ksT0FBTztFbUNvQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGdCQUFnQixFdENNUixJQUFJLEdzQ0xiOztDQVdELEFBQUEsQUFBQSxRQUFDLENBQVMsSUFBSSxBQUFiLENBQWMsTUFBTSxBQUFBLElBQUssQ0FBQSxjQUFjLEVBQUU7RUFDeEMsT0FBTyxFQUFFLFlBQVksR0FDdEI7O0FBUUQsQUFBQSxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBQVlELEFBQUEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDckIsVUFBVSxFQUFFLENBQUM7RUFDYixhQUFhLEVuQ29OZSxNQUFXLEdtQ25OeEM7O0FBTUQsQUFBQSxDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRW5DdUZhLElBQUksR21DdEYvQjs7QUFVRCxBQUFBLElBQUksQ0FBQSxBQUFBLEtBQUMsQUFBQTtBQUNMLElBQUksQ0FBQSxBQUFBLG1CQUFDLEFBQUEsRUFBcUI7RUFDeEIsZUFBZSxFQUFFLFNBQVM7RUFDMUIsZUFBZSxFQUFFLGdCQUFnQjtFQUNqQyxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLHdCQUF3QixFQUFFLElBQUksR0FDL0I7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsT0FBTyxHQUNyQjs7QUFFRCxBQUFBLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLENBQUM7RUFDYixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQyxFQUFFO0FBQ0wsRUFBRSxDQUFDLEVBQUU7QUFDTCxFQUFFLENBQUMsRUFBRTtBQUNMLEVBQUUsQ0FBQyxFQUFFLENBQUM7RUFDSixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNELFdBQVcsRW5DcUppQixHQUFHLEdtQ3BKaEM7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsS0FBSztFQUNwQixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQsQUFBQSxDQUFDO0FBQ0QsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFbkN3SWlCLE1BQU0sR21DdkluQzs7QUFFRCxBQUFBLEtBQUssQ0FBQztFakN4RkYsU0FBUyxFQUFDLEdBQUMsR2lDMEZkOztBQU9ELEFBQUEsR0FBRztBQUNILEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxRQUFRO0VqQ25HaEIsU0FBUyxFQUFDLEdBQUM7RWlDcUdiLFdBQVcsRUFBRSxDQUFDO0VBQ2QsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFJOztBQUN4QixBQUFBLEdBQUcsQ0FBQztFQUFFLEdBQUcsRUFBRSxLQUFLLEdBQUk7O0FBT3BCLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFdENwTE8sT0FBTztFc0NxTG5CLGVBQWUsRW5DUnlCLElBQUk7RW1DUzVDLGdCQUFnQixFQUFFLFdBQVcsR0FNOUI7RUFURCxBOUI3S0UsQzhCNktELEE5QjdLRSxNQUFNLENBQUM7SThCbUxOLEtBQUssRW5DWGlDLE9BQXdCO0ltQ1k5RCxlQUFlLEVuQ1h1QixTQUFTLEdLekszQjs7QThCNkx4QixBQUFBLENBQUMsQUFBQSxJQUFLLEVBQUEsQUFBQSxJQUFDLEFBQUEsR0FBTztFQUNaLEtBQUssRUFBRSxPQUFPO0VBQ2QsZUFBZSxFQUFFLElBQUksR0FNdEI7RUFSRCxBOUI3TEUsQzhCNkxELEFBQUEsSUFBSyxFQUFBLEFBQUEsSUFBQyxBQUFBLEU5QjdMSixNQUFNLENBQUM7SThCa01OLEtBQUssRUFBRSxPQUFPO0lBQ2QsZUFBZSxFQUFFLElBQUksRzlCbk1EOztBOEI0TXhCLEFBQUEsR0FBRztBQUNILElBQUk7QUFDSixHQUFHO0FBQ0gsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFbkM2RGlCLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsU0FBUztFRWpOOUcsU0FBUyxFQUFDLEdBQUMsR2lDc0pkOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBRUYsVUFBVSxFQUFFLENBQUM7RUFFYixhQUFhLEVBQUUsSUFBSTtFQUVuQixRQUFRLEVBQUUsSUFBSSxHQUNmOztBQU9ELEFBQUEsTUFBTSxDQUFDO0VBRUwsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBT0QsQUFBQSxHQUFHLENBQUM7RUFDRixjQUFjLEVBQUUsTUFBTTtFQUN0QixZQUFZLEVBQUUsSUFBSSxHQUNuQjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUdGLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCOztBQU9ELEFBQUEsS0FBSyxDQUFDO0VBQ0osZUFBZSxFQUFFLFFBQVEsR0FDMUI7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixXQUFXLEVuQ29GaUIsT0FBTTtFbUNuRmxDLGNBQWMsRW5DbUZjLE9BQU07RW1DbEZsQyxLQUFLLEVuQ25RSSxPQUFPO0VtQ29RaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsWUFBWSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFHRCxVQUFVLEVBQUUsT0FBTyxHQUNwQjs7QUFPRCxBQUFBLEtBQUssQ0FBQztFQUVKLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRW5DcUt5QixNQUFLLEdtQ3BLNUM7O0FBS0QsQUFBQSxNQUFNLENBQUM7RUFFTCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFNRCxBQUFBLE1BQU0sQUFBQSxNQUFNLENBQUM7RUFDWCxPQUFPLEVBQUUsVUFBVTtFQUNuQixPQUFPLEVBQUUsaUNBQWlDLEdBQzNDOztBQUVELEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixNQUFNO0FBQ04sUUFBUTtBQUNSLFFBQVEsQ0FBQztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFQUFFLE9BQU87RWpDclBsQixTQUFTLEVBQUMsT0FBQztFaUN1UGIsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBRUQsQUFBQSxNQUFNO0FBQ04sS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFDO0VBQ0wsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBS0QsQUFBQSxNQUFNLENBQUM7RUFDTCxTQUFTLEVBQUUsTUFBTSxHQUNsQjs7QUFNRCxBQUFBLE1BQU07Q0FDTixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7Q0FDRCxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7Q0FDRCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLGtCQUFrQixFQUFFLE1BQU0sR0FDM0I7O0FBSUMsQUFJRSxNQUpJLEFBSUgsSUFBSyxDQUFBLFNBQVM7Q0FIakIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBR0UsSUFBSyxDQUFBLFNBQVM7Q0FGakIsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBRUUsSUFBSyxDQUFBLFNBQVM7Q0FEakIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQ0UsSUFBSyxDQUFBLFNBQVMsRUFBRTtFQUNmLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUtMLEFBQUEsTUFBTSxBQUFBLGtCQUFrQjtDQUN4QixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxrQkFBa0I7Q0FDakMsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBQWEsa0JBQWtCO0NBQ2hDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLGtCQUFrQixDQUFDO0VBQ2hDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsWUFBWSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtFQUNyQixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUdELEFBQUEsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssZ0JBQWdCLEFBQXJCO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBTWxCLGtCQUFrQixFQUFFLE9BQU8sR0FDNUI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDUCxRQUFRLEVBQUUsSUFBSTtFQUVkLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBTVAsU0FBUyxFQUFFLENBQUM7RUFFWixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFJRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEtBQUs7RWpDalNoQixTQUFTLEVBdENFLE1BQUM7RWlDeVVoQixXQUFXLEVBQUUsT0FBTztFQUNwQixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0NBR0QsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkI7Q0FDMUMsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFDekMsTUFBTSxFQUFFLElBQUksR0FDYjs7Q0FFRCxBQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBS2QsY0FBYyxFQUFFLElBQUk7RUFDcEIsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7Q0FNRCxBQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQ3pDLGtCQUFrQixFQUFFLElBQUksR0FDekI7O0FBT0QsQUFBQSw0QkFBNEIsQ0FBQztFQUMzQixJQUFJLEVBQUUsT0FBTztFQUNiLGtCQUFrQixFQUFFLE1BQU0sR0FDM0I7O0FBTUQsQUFBQSxNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7Q0FJRCxBQUFBLEFBQUEsTUFBQyxBQUFBLEVBQVE7RUFDUCxPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUMzZEQsQUFBQSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDdEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7RUFDM0IsYUFBYSxFcEN5U2UsTUFBVztFb0N2U3ZDLFdBQVcsRXZDdURVLEdBQUc7RXVDdER4QixXQUFXLEVwQ3lTaUIsR0FBRyxHb0N2U2hDOztBQUVELEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbENnSEYsU0FBUyxFQXRDRSxNQUFDLEdrQzFFNkI7O0FBQy9DLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbEMrR0YsU0FBUyxFQXRDRSxRQUFDLEdrQ3pFNkI7O0FBQy9DLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbEM4R0YsU0FBUyxFQXRDRSxPQUFDLEdrQ3hFNkI7O0FBQy9DLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbEM2R0YsU0FBUyxFQXRDRSxNQUFDLEdrQ3ZFNkI7O0FBQy9DLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbEM0R0YsU0FBUyxFQXRDRSxPQUFDLEdrQ3RFNkI7O0FBQy9DLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFbEMyR0YsU0FBUyxFQXRDRSxJQUFDLEdrQ3JFNkI7O0FBRS9DLEFBQUEsS0FBSyxDQUFDO0VsQ3lHQSxTQUFTLEVBdENFLE9BQUM7RWtDakVoQixXQUFXLEVwQzJTaUIsR0FBRyxHb0MxU2hDOztBQUdELEFBQUEsVUFBVSxDQUFDO0VsQ21HTCxTQUFTLEVBdENFLElBQUM7RWtDM0RoQixXQUFXLEVwQzhSaUIsR0FBRztFb0M3Ui9CLFdBQVcsRXBDcVJpQixHQUFHLEdvQ3BSaEM7O0FBQ0QsQUFBQSxVQUFVLENBQUM7RWxDOEZMLFNBQVMsRUF0Q0UsTUFBQztFa0N0RGhCLFdBQVcsRXBDMFJpQixHQUFHO0VvQ3pSL0IsV0FBVyxFcENnUmlCLEdBQUcsR29DL1FoQzs7QUFDRCxBQUFBLFVBQVUsQ0FBQztFbEN5RkwsU0FBUyxFQXRDRSxNQUFDO0VrQ2pEaEIsV0FBVyxFcENzUmlCLEdBQUc7RW9DclIvQixXQUFXLEVwQzJRaUIsR0FBRyxHb0MxUWhDOztBQUNELEFBQUEsVUFBVSxDQUFDO0VsQ29GTCxTQUFTLEVBdENFLE1BQUM7RWtDNUNoQixXQUFXLEVwQ2tSaUIsR0FBRztFb0NqUi9CLFdBQVcsRXBDc1FpQixHQUFHLEdvQ3JRaEM7O0FENEJELEFBQUEsRUFBRSxDQ3JCQztFQUNELFVBQVUsRXBDaUZILElBQUk7RW9DaEZYLGFBQWEsRXBDZ0ZOLElBQUk7RW9DL0VYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFcENxTGtCLEdBQUcsQ29DckxGLEtBQUssQ3BDekN6QixrQkFBSSxHb0MwQ2Q7O0FBT0QsQUFBQSxLQUFLO0FBQ0wsTUFBTSxDQUFDO0VsQ0tILFNBQVMsRUFBQyxHQUFDO0VrQ0hiLFdBQVcsRXBDOE5pQixHQUFHLEdvQzdOaEM7O0FBRUQsQUFBQSxJQUFJO0FBQ0osS0FBSyxDQUFDO0VBQ0osT0FBTyxFcENzUXFCLEtBQUk7RW9DclFoQyxnQkFBZ0IsRXBDOFFZLE9BQU8sR29DN1FwQzs7QUFPRCxBQUFBLGNBQWMsQ0FBQztFaEIvRWIsWUFBWSxFQUFFLENBQUM7RUFDZixVQUFVLEVBQUUsSUFBSSxHZ0JnRmpCOztBQUdELEFBQUEsWUFBWSxDQUFDO0VoQnBGWCxZQUFZLEVBQUUsQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFJLEdnQnFGakI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsWUFBWSxHQUt0QjtFQU5ELEFBR0UsaUJBSGUsQUFHZCxJQUFLLENBQUEsV0FBVyxFQUFFO0lBQ2pCLFlBQVksRXBDd1BjLE1BQUssR29DdlBoQzs7QUFTSCxBQUFBLFdBQVcsQ0FBQztFbENqQ1IsU0FBUyxFQUFDLEdBQUM7RWtDbUNiLGNBQWMsRUFBRSxTQUFTLEdBQzFCOztBQUdELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFcEN3Qk4sSUFBSTtFRVRQLFNBQVMsRUF0Q0UsT0FBQyxHa0N5QmpCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQUs7RWxDN0NaLFNBQVMsRUFBQyxHQUFDO0VrQytDYixLQUFLLEVwQzFHSSxPQUFPLEdvQytHakI7RUFSRCxBQUtFLGtCQUxnQixBQUtmLFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQ3BISCxBQUFBLFVBQVUsQ0FBQztFL0JJVCxTQUFTLEVBQUUsSUFBSTtFQUdmLE1BQU0sRUFBRSxJQUFJLEcrQkxiOztBQUlELEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFckNpZ0MyQixPQUFNO0VxQ2hnQ3hDLGdCQUFnQixFeEM0Q1IsSUFBSTtFd0MzQ1osTUFBTSxFckMrTnNCLEdBQUcsQ3FDL05DLEtBQUssQ3JDTjVCLE9BQU87RU1DaEIsU0FBUyxFQUFFLElBQUk7RUFHZixNQUFNLEVBQUUsSUFBSSxHK0JRYjs7QUFNRCxBQUFBLE9BQU8sQ0FBQztFQUVOLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFQUFFLE1BQVc7RUFDMUIsV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFbkNrQ1osU0FBUyxFQUFDLEdBQUM7RW1DaENiLEtBQUssRXJDM0JJLE9BQU8sR3FDNEJqQjs7QUN4Q0QsQUFBQSxJQUFJLENBQUM7RXBDdUVELFNBQVMsRUFBQyxLQUFDO0VvQ3JFYixLQUFLLEV0Q29DRyxPQUFPO0VzQ25DZixTQUFTLEVBQUUsVUFBVSxHQU10QjtFQUhDLEFBQUEsQ0FBQyxHQU5ILElBQUksQ0FNSTtJQUNKLEtBQUssRUFBRSxPQUFPLEdBQ2Y7O0FBSUgsQUFBQSxHQUFHLENBQUM7RUFDRixPQUFPLEV0Q29sQzJCLE1BQUssQ0FDTCxNQUFLO0VFM2hDckMsU0FBUyxFQUFDLEtBQUM7RW9DeERiLEtBQUssRXRDVEksSUFBSTtFc0NVYixnQkFBZ0IsRXRDRFAsT0FBTyxHc0NXakI7RUFkRCxBQVFFLEdBUkMsQ0FRRCxHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQztJcENrRFYsU0FBUyxFQUFDLElBQUM7SW9DaERYLFdBQVcsRXRDNFFlLEdBQUcsR3NDMVE5Qjs7QUhzTUgsQUFBQSxHQUFHLENHbE1DO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RXBDeUNaLFNBQVMsRUFBQyxLQUFDO0VvQ3ZDYixLQUFLLEV0Q2pCSSxPQUFPLEdzQ3lCakI7RUFYRCxBQU1FLEdBTkMsQ0FNRCxJQUFJLENBQUM7SXBDb0NILFNBQVMsRUFBQyxPQUFDO0lvQ2xDWCxLQUFLLEVBQUUsT0FBTztJQUNkLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUlILEFBQUEsZUFBZSxDQUFDO0VBQ2QsVUFBVSxFdEM0akN3QixLQUFLO0VzQzNqQ3ZDLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQ3pDQyxBQUFBLFVBQVUsQ0FBQztFUERYLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQVc7RUFDMUIsWUFBWSxFQUFFLElBQVc7RUFDekIsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLElBQUksR09BaEI7RW5DbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJbUN0RDFCLEFBQUEsVUFBVSxDQUFDO01QV1AsU0FBUyxFaENxTVQsS0FBSyxHdUM3TVI7RW5DbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJbUN0RDFCLEFBQUEsVUFBVSxDQUFDO01QV1AsU0FBUyxFaENzTVQsS0FBSyxHdUM5TVI7RW5DbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJbUN0RDFCLEFBQUEsVUFBVSxDQUFDO01QV1AsU0FBUyxFaEN1TVQsS0FBSyxHdUMvTVI7RW5DbURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJbUN0RDNCLEFBQUEsVUFBVSxDQUFDO01QV1AsU0FBUyxFaEN3TVQsTUFBTSxHdUNoTlQ7O0FBR0QsQUFBQSxnQkFBZ0IsRUFNZCxhQUFhLEVBQWIsYUFBYSxFQUFiLGFBQWEsRUFBYixhQUFhLENBTkU7RVBQakIsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsSUFBVztFQUMxQixZQUFZLEVBQUUsSUFBVztFQUN6QixZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsSUFBSSxHT0toQjs7QW5DOENDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFbUMvQmxCLEFBTkosVUFNYyxFQVhoQixhQUFhLENBSzBCO0lBQ25DLFNBQVMsRXZDOExYLEtBQUssR3VDN0xKOztBbkNtQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VtQy9CbEIsQUFOSixVQU1jLEVBWGhCLGFBQWEsRUFBYixhQUFhLENBSzBCO0lBQ25DLFNBQVMsRXZDK0xYLEtBQUssR3VDOUxKOztBbkNtQ0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VtQy9CbEIsQUFOSixVQU1jLEVBWGhCLGFBQWEsRUFBYixhQUFhLEVBQWIsYUFBYSxDQUswQjtJQUNuQyxTQUFTLEV2Q2dNWCxLQUFLLEd1Qy9MSjs7QW5DbUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFbUMvQm5CLEFBTkosVUFNYyxFQVhoQixhQUFhLEVBQWIsYUFBYSxFQUFiLGFBQWEsRUFBYixhQUFhLENBSzBCO0lBQ25DLFNBQVMsRXZDaU1YLE1BQU0sR3VDaE1MOztBQW1CTCxBQUFBLElBQUksQ0FBQztFUHJCTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsWUFBWSxFQUFFLEtBQVk7RUFDMUIsV0FBVyxFQUFFLEtBQVksR09vQnhCOztBQUlELEFBQUEsV0FBVyxDQUFDO0VBQ1YsWUFBWSxFQUFFLENBQUM7RUFDZixXQUFXLEVBQUUsQ0FBQyxHQU9mO0VBVEQsQUFJRSxXQUpTLEdBSVAsSUFBSTtFQUpSLFdBQVcsSUFLUCxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsRUFBZTtJQUNoQixhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUNoQjs7QVJ2Q0MsQUFaSixNQVlVLEVBQU4sTUFBTSxFQUFOLE1BQU0sRUFBTixNQUFNLEVBQU4sTUFBTSxFQUFOLE1BQU0sRUFBTixNQUFNLEVBQU4sTUFBTSxFQUFOLE1BQU0sRUFBTixPQUFPLEVBQVAsT0FBTyxFQUFQLE9BQU8sRUFJVCxJQUFJO0FBQ0osU0FBUyxFQUxQLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUlaLE9BQU87QUFDUCxZQUFZLEVBTFYsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBSVosT0FBTztBQUNQLFlBQVksRUFMVixTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFJWixPQUFPO0FBQ1AsWUFBWSxFQUxWLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUlaLE9BQU87QUFDUCxZQUFZLENBakJEO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsSUFBVztFQUMxQixZQUFZLEVBQUUsSUFBVyxHQUMxQjs7QUFrQkcsQUFBQSxJQUFJLENBQVU7RUFDWixVQUFVLEVBQUUsQ0FBQztFQUNiLFNBQVMsRUFBRSxDQUFDO0VBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBR0MsQUMyQk4sV0QzQmlCLEdDMkJiLENBQUMsQ0FBQztFQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQWE7RUFDdkIsU0FBUyxFQUFFLElBQWEsR0FDekI7O0FEOUJLLEFDMkJOLFdEM0JpQixHQzJCYixDQUFDLENBQUM7RUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0VBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCOztBRDlCSyxBQzJCTixXRDNCaUIsR0MyQmIsQ0FBQyxDQUFDO0VBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtFQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6Qjs7QUQ5QkssQUMyQk4sV0QzQmlCLEdDMkJiLENBQUMsQ0FBQztFQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7RUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7O0FEOUJLLEFDMkJOLFdEM0JpQixHQzJCYixDQUFDLENBQUM7RUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0VBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCOztBRDlCSyxBQzJCTixXRDNCaUIsR0MyQmIsQ0FBQyxDQUFDO0VBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtFQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6Qjs7QUR6QkcsQUFBQSxTQUFTLENBQVU7RUNNdkIsSUFBSSxFQUFFLFFBQVE7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJLEdETlY7O0FBR0MsQUFBQSxNQUFNLENBQWM7RUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBNEI7RUFJdEMsU0FBUyxFQUFFLFFBQTRCLEdES2hDOztBQUZELEFBQUEsTUFBTSxDQUFjO0VDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQzs7QUFGRCxBQUFBLE1BQU0sQ0FBYztFQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RLaEM7O0FBRkQsQUFBQSxNQUFNLENBQWM7RUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDOztBQUZELEFBQUEsTUFBTSxDQUFjO0VDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQzs7QUFGRCxBQUFBLE1BQU0sQ0FBYztFQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RLaEM7O0FBRkQsQUFBQSxNQUFNLENBQWM7RUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDOztBQUZELEFBQUEsTUFBTSxDQUFjO0VDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQzs7QUFGRCxBQUFBLE1BQU0sQ0FBYztFQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtFQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RLaEM7O0FBRkQsQUFBQSxPQUFPLENBQWE7RUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7RUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDOztBQUZELEFBQUEsT0FBTyxDQUFhO0VDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0VBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQzs7QUFGRCxBQUFBLE9BQU8sQ0FBYTtFQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUE0QjtFQUl0QyxTQUFTLEVBQUUsSUFBNEIsR0RLaEM7O0FBR0gsQUFBQSxZQUFZLENBQVU7RUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFJOztBQUVyQyxBQUFBLFdBQVcsQ0FBVTtFQUFFLEtBQUssRS9CNktKLEVBQUUsRytCN0tvQjs7QUFHNUMsQUFBQSxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLEFBQUEsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxBQUFBLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsQUFBQSxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLEFBQUEsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxBQUFBLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsQUFBQSxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLEFBQUEsUUFBUSxDQUFjO0VBQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCOztBQUFyQyxBQUFBLFFBQVEsQ0FBYztFQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5Qjs7QUFBckMsQUFBQSxRQUFRLENBQWM7RUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7O0FBQXJDLEFBQUEsU0FBUyxDQUFhO0VBQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCOztBQUFyQyxBQUFBLFNBQVMsQ0FBYTtFQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5Qjs7QUFBckMsQUFBQSxTQUFTLENBQWE7RUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7O0FBTW5DLEFBQUEsU0FBUyxDQUFjO0VDUi9CLFdBQVcsRUFBbUIsUUFBZ0IsR0RVckM7O0FBRkQsQUFBQSxTQUFTLENBQWM7RUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QUFGRCxBQUFBLFNBQVMsQ0FBYztFQ1IvQixXQUFXLEVBQW1CLEdBQWdCLEdEVXJDOztBQUZELEFBQUEsU0FBUyxDQUFjO0VDUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7O0FBRkQsQUFBQSxTQUFTLENBQWM7RUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QUFGRCxBQUFBLFNBQVMsQ0FBYztFQ1IvQixXQUFXLEVBQW1CLEdBQWdCLEdEVXJDOztBQUZELEFBQUEsU0FBUyxDQUFjO0VDUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7O0FBRkQsQUFBQSxTQUFTLENBQWM7RUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QUFGRCxBQUFBLFNBQVMsQ0FBYztFQ1IvQixXQUFXLEVBQW1CLEdBQWdCLEdEVXJDOztBQUZELEFBQUEsVUFBVSxDQUFhO0VDUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7O0FBRkQsQUFBQSxVQUFVLENBQWE7RUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QTNCTFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UyQjlCdEIsQUFBQSxPQUFPLENBQU87SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7RUFHQyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQWE7SUFDdkIsU0FBUyxFQUFFLElBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRDlCSyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRHpCRyxBQUFBLFlBQVksQ0FBTztJQ012QixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0ROVjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTRCO0lBSXRDLFNBQVMsRUFBRSxRQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QixHREtoQztFQUdILEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUVyQyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRS9CNktKLEVBQUUsRytCN0tvQjtFQUc1QyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQU1uQyxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQWdCLENBQUMsR0RVbkI7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFFBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLGFBQWEsQ0FBVTtJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QTNCTFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UyQjlCdEIsQUFBQSxPQUFPLENBQU87SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7RUFHQyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQWE7SUFDdkIsU0FBUyxFQUFFLElBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRDlCSyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRHpCRyxBQUFBLFlBQVksQ0FBTztJQ012QixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0ROVjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTRCO0lBSXRDLFNBQVMsRUFBRSxRQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QixHREtoQztFQUdILEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUVyQyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRS9CNktKLEVBQUUsRytCN0tvQjtFQUc1QyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUssRUFEbEIsQ0FBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQUFyQyxBQUFBLFlBQVksQ0FBVTtJQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtFQU1uQyxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQWdCLENBQUMsR0RVbkI7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFFBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLFlBQVksQ0FBVztJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxZQUFZLENBQVc7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztFQUZELEFBQUEsWUFBWSxDQUFXO0lDUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7RUFGRCxBQUFBLGFBQWEsQ0FBVTtJQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0VBRkQsQUFBQSxhQUFhLENBQVU7SUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQzs7QTNCTFAsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0UyQjlCdEIsQUFBQSxPQUFPLENBQU87SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDaEI7RUFHQyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQWE7SUFDdkIsU0FBUyxFQUFFLElBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRDlCSyxBQzJCTixjRDNCb0IsR0MyQmhCLENBQUMsQ0FBQztJQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQWE7SUFDdkIsU0FBUyxFQUFFLEdBQWEsR0FDekI7RUQ5QkssQUMyQk4sY0QzQm9CLEdDMkJoQixDQUFDLENBQUM7SUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO0lBQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0VEOUJLLEFDMkJOLGNEM0JvQixHQzJCaEIsQ0FBQyxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBYTtJQUN2QixTQUFTLEVBQUUsU0FBYSxHQUN6QjtFRHpCRyxBQUFBLFlBQVksQ0FBTztJQ012QixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUksR0ROVjtFQUdDLEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTRCO0lBSXRDLFNBQVMsRUFBRSxRQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO0lBSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO0lBSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQTRCO0lBSXRDLFNBQVMsRUFBRSxJQUE0QixH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QUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7RUFDblIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FDWCxHQUFDOztBQUVELEFBQUEsTUFBTSxBQUFBLE9BQU8sRUFBRSxLQUFLLEFBQUEsT0FBTyxFQUFFLFNBQVMsQUFBQSxPQUFPLEVBQUUsVUFBVSxBQUFBLE9BQU8sRUFBRSxVQUFVLEFBQUEsT0FBTyxFQUFFLFFBQVEsQUFBQSxPQUFPLEVBQUUsT0FBTyxBQUFBLE9BQU8sRUFBRSxRQUFRLEFBQUEsT0FBTyxFQUFFLEtBQUssQUFBQSxPQUFPLEVBQUUsS0FBSyxBQUFBLE9BQU8sRUFBRSxRQUFRLEFBQUEsT0FBTyxFQUFFLEtBQUssQUFBQSxPQUFPLEVBQUUsVUFBVSxBQUFBLE9BQU8sRUFBRSxTQUFTLEFBQUEsT0FBTyxFQUFFLE1BQU0sQUFBQSxPQUFPLEVBQUUsS0FBSyxBQUFBLE9BQU8sRUFBRSxRQUFRLEFBQUEsT0FBTyxFQUFFLFFBQVEsQUFBQSxPQUFPLEVBQUUsT0FBTyxBQUFBLE9BQU8sRUFBRSxPQUFPLEFBQUEsT0FBTyxFQUFFLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDbFYsT0FBTyxFQUFF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 */
