@import "https://cdn.jsdelivr.net/font-hack/2.020/css/hack.min.css";
/*!
 * Bootstrap v4.0.0-beta.3 (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 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: #868e96;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #868e96;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --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%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent; }

@-ms-viewport {
  width: device-width; }

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

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

[tabindex="-1"]:focus {
  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; }

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

dfn {
  font-style: italic; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

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

figure {
  margin: 0 0 1rem; }

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

svg:not(:root) {
  overflow: hidden; }

a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
  touch-action: manipulation; }

table {
  border-collapse: collapse; }

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

th {
  text-align: inherit; }

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

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

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-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

output {
  display: inline-block; }

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

template {
  display: none; }

[hidden] {
  display: none !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.figure {
  display: inline-block; }

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

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

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

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

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

pre {
  display: block;
  font-size: 87.5%;
  color: #212529; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

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

.container {
  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 {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.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%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

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

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

.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-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%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .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-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%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .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-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%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .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-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%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .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-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%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent; }
  .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 .table {
    background-color: #fff; }

.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-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05); }

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

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

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

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

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

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

.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-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-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-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-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-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: #212529;
  border-color: #32383e; }

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

.table-dark {
  color: #fff;
  background-color: #212529; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #32383e; }
  .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 {
    background-color: rgba(255, 255, 255, 0.075); }

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

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

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

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

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

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .form-control::placeholder {
    color: #868e96;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

select.form-control:not([size]):not([multiple]) {
  height: calc(2.25rem + 2px); }

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-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,
  .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,
  .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,
  .input-group-sm > .input-group-prepend > .form-control-plaintext.btn,
  .input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,
  .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,
  .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,
  .input-group-lg > .input-group-prepend > .form-control-plaintext.btn,
  .input-group-lg > .input-group-append > .form-control-plaintext.btn {
    padding-right: 0;
    padding-left: 0; }

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

select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {
  height: calc(1.8125rem + 2px); }

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

select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),
.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),
.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {
  height: calc(2.875rem + 2px); }

.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 {
    color: #868e96; }

.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;
  width: 250px;
  padding: .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.8);
  border-radius: .2rem; }

.was-validated .form-control:valid, .form-control.is-valid, .was-validated
.custom-select:valid,
.custom-select.is-valid {
  border-color: #28a745; }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .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-control:valid ~ .valid-feedback,
  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
  .form-control.is-valid ~ .valid-tooltip, .was-validated
  .custom-select:valid ~ .valid-feedback,
  .was-validated
  .custom-select:valid ~ .valid-tooltip,
  .custom-select.is-valid ~ .valid-feedback,
  .custom-select.is-valid ~ .valid-tooltip {
    display: block; }

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

.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 {
    background-color: #71dd8a; }

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

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  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 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.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 ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {
    border-color: inherit; }

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

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  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;
  width: 250px;
  padding: .5rem;
  margin-top: .1rem;
  font-size: .875rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.8);
  border-radius: .2rem; }

.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated
.custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .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-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip, .was-validated
  .custom-select:invalid ~ .invalid-feedback,
  .was-validated
  .custom-select:invalid ~ .invalid-tooltip,
  .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

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

.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 {
    background-color: #efa2a9; }

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

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  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 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.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 ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {
    border-color: inherit; }

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

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  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 {
      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;
      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;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  .btn:focus, .btn:hover {
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }
  .btn:not([disabled]):not(.disabled) {
    cursor: pointer; }
  .btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {
    background-image: none; }

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

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }
  .btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc; }
  .btn-primary:focus, .btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    background-color: #007bff;
    border-color: #007bff; }
  .btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf; }
    .btn-primary:not([disabled]):not(.disabled):active:focus, .btn-primary:not([disabled]):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #868e96;
  border-color: #868e96; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #727b84;
    border-color: #6c757d; }
  .btn-secondary:focus, .btn-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    background-color: #868e96;
    border-color: #868e96; }
  .btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #666e76; }
    .btn-secondary:not([disabled]):not(.disabled):active:focus, .btn-secondary:not([disabled]):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 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 {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    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(40, 167, 69, 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 {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    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(23, 162, 184, 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 {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    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(255, 193, 7, 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 {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    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(220, 53, 69, 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 {
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    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(248, 249, 250, 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 {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    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(52, 58, 64, 0.5); }

.btn-outline-primary {
  color: #007bff;
  background-color: transparent;
  background-image: none;
  border-color: #007bff; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #007bff;
    background-color: transparent; }
  .btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #212529;
    background-color: #007bff;
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.btn-outline-secondary {
  color: #868e96;
  background-color: transparent;
  background-image: none;
  border-color: #868e96; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #868e96;
    border-color: #868e96; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #868e96;
    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: #212529;
    background-color: #868e96;
    border-color: #868e96;
    box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); }

.btn-outline-success {
  color: #28a745;
  background-color: transparent;
  background-image: none;
  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: #212529;
    background-color: #28a745;
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info {
  color: #17a2b8;
  background-color: transparent;
  background-image: none;
  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: #212529;
    background-color: #17a2b8;
    border-color: #17a2b8;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  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;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger {
  color: #dc3545;
  background-color: transparent;
  background-image: none;
  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: #212529;
    background-color: #dc3545;
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  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: #fff;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark {
  color: #343a40;
  background-color: transparent;
  background-image: none;
  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: #212529;
    background-color: #343a40;
    border-color: #343a40;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.btn-link {
  font-weight: 400;
  color: #007bff;
  background-color: transparent; }
  .btn-link:hover {
    color: #0056b3;
    text-decoration: underline;
    background-color: transparent;
    border-color: transparent; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline;
    border-color: transparent;
    box-shadow: none; }
  .btn-link:disabled, .btn-link.disabled {
    color: #868e96; }

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

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

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

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

.fade {
  opacity: 0;
  transition: opacity 0.15s linear; }
  .fade.show {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.show {
    display: block; }

tr.collapse.show {
  display: table-row; }

tbody.collapse.show {
  display: table-row-group; }

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

.dropup,
.dropdown {
  position: relative; }

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

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

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

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

.dropup .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  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 {
  margin-top: 0;
  margin-left: 0.125rem; }

.dropright .dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  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 {
  margin-top: 0;
  margin-right: 0.125rem; }

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

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

.dropleft .dropdown-toggle::before {
  display: inline-block;
  width: 0;
  height: 0;
  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-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:focus, .dropdown-item:hover {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #868e96;
    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: #868e96;
  white-space: nowrap; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    flex: 0 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-group .btn + .btn,
  .btn-group .btn + .btn-group,
  .btn-group .btn-group + .btn,
  .btn-group .btn-group + .btn-group,
  .btn-group-vertical .btn + .btn,
  .btn-group-vertical .btn + .btn-group,
  .btn-group-vertical .btn-group + .btn,
  .btn-group-vertical .btn-group + .btn-group {
    margin-left: -1px; }

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

.btn-group > .btn:first-child {
  margin-left: 0; }

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

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

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem; }
  .dropdown-toggle-split::after {
    margin-left: 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 + .btn,
  .btn-group-vertical > .btn + .btn-group,
  .btn-group-vertical > .btn-group + .btn,
  .btn-group-vertical > .btn-group + .btn-group {
    margin-top: -1px;
    margin-left: 0; }
  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

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

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .input-group .form-control,
  .input-group .custom-select,
  .input-group .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0; }
    .input-group .form-control:focus,
    .input-group .custom-select:focus,
    .input-group .custom-file:focus {
      z-index: 3; }
    .input-group .form-control + .form-control,
    .input-group .custom-select + .form-control,
    .input-group .custom-file + .form-control {
      margin-left: -1px; }
  .input-group .form-control:not(:last-child),
  .input-group .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .input-group .form-control:not(:first-child),
  .input-group .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .input-group .custom-file {
    display: flex;
    align-items: center; }
    .input-group .custom-file:not(:last-child) .custom-file-control,
    .input-group .custom-file:not(:last-child) .custom-file-control::before {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group .custom-file:not(:first-child) .custom-file-control,
    .input-group .custom-file:not(:first-child) .custom-file-control::before {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: flex;
  align-items: center; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
  .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 {
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.25rem; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    background-color: #007bff; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-control-input:active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff; }
  .custom-control-input:disabled ~ .custom-control-label {
    color: #868e96; }
    .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.custom-control-label {
  margin-bottom: 0; }
  .custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: 0;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    user-select: none;
    background-color: #dee2e6; }
  .custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: 0;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%; }

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

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

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); }

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

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

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

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

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(2.25rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' 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;
  background-size: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none; }
  .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #868e96;
    background-color: #e9ecef; }
  .custom-select::-ms-expand {
    opacity: 0; }

.custom-select-sm {
  height: calc(1.8125rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 75%; }

.custom-select-lg {
  height: calc(2.875rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 125%; }

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

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(2.25rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-control {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-file-input:focus ~ .custom-file-control::before {
      border-color: #80bdff; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }

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

.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:focus, .nav-link:hover {
    text-decoration: none; }
  .nav-link.disabled {
    color: #868e96; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
      border-color: #e9ecef #e9ecef #dee2e6; }
    .nav-tabs .nav-link.disabled {
      color: #868e96;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  border-radius: 0.25rem; }

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

.nav-fill .nav-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.5rem 1rem; }
  .navbar > .container,
  .navbar > .container-fluid {
    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:focus, .navbar-brand:hover {
    text-decoration: none; }

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

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

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

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .navbar-toggler:focus, .navbar-toggler:hover {
    text-decoration: none; }
  .navbar-toggler:not([disabled]):not(.disabled) {
    cursor: pointer; }

.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.99px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid {
    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 .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid {
      flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; }
    .navbar-expand-sm .dropup .dropdown-menu {
      top: auto;
      bottom: 100%; } }

@media (max-width: 767.99px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid {
    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 .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid {
      flex-wrap: nowrap; }
    .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; }
    .navbar-expand-md .dropup .dropdown-menu {
      top: auto;
      bottom: 100%; } }

@media (max-width: 991.99px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid {
    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 .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid {
      flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; }
    .navbar-expand-lg .dropup .dropdown-menu {
      top: auto;
      bottom: 100%; } }

@media (max-width: 1199.99px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid {
    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 .dropdown-menu-right {
        right: 0;
        left: auto; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: .5rem;
        padding-left: .5rem; }
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid {
      flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; }
    .navbar-expand-xl .dropup .dropdown-menu {
      top: auto;
      bottom: 100%; } }

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid {
    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 .dropdown-menu-right {
      right: 0;
      left: auto; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: .5rem;
      padding-left: .5rem; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid {
    flex-wrap: nowrap; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }
  .navbar-expand .dropup .dropdown-menu {
    top: auto;
    bottom: 100%; }

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

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

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

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

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

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

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

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    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;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' 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:focus, .navbar-dark .navbar-text a:hover {
      color: #fff; }

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem; }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

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

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

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

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

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

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

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
  .card-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-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

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

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

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

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px); }

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

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

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

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

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

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

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

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

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

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

.breadcrumb-item.active {
  color: #868e96; }

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

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:focus, .page-link:hover {
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .page-link:not([disabled]):not(.disabled) {
    cursor: pointer; }

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

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

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

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem; }
  .badge:empty {
    display: none; }

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

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

.badge-primary {
  color: #fff;
  background-color: #007bff; }
  .badge-primary[href]:focus, .badge-primary[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0062cc; }

.badge-secondary {
  color: #fff;
  background-color: #868e96; }
  .badge-secondary[href]:focus, .badge-secondary[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #6c757d; }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  .badge-success[href]:focus, .badge-success[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #1e7e34; }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  .badge-info[href]:focus, .badge-info[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #117a8b; }

.badge-warning {
  color: #212529;
  background-color: #ffc107; }
  .badge-warning[href]:focus, .badge-warning[href]:hover {
    color: #212529;
    text-decoration: none;
    background-color: #d39e00; }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  .badge-danger[href]:focus, .badge-danger[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #bd2130; }

.badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  .badge-light[href]:focus, .badge-light[href]:hover {
    color: #212529;
    text-decoration: none;
    background-color: #dae0e5; }

.badge-dark {
  color: #fff;
  background-color: #343a40; }
  .badge-dark[href]:focus, .badge-dark[href]:hover {
    color: #fff;
    text-decoration: none;
    background-color: #1d2124; }

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

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

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

.alert-heading {
  color: inherit; }

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

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

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff; }
  .alert-primary hr {
    border-top-color: #9fcdff; }
  .alert-primary .alert-link {
    color: #002752; }

.alert-secondary {
  color: #464a4e;
  background-color: #e7e8ea;
  border-color: #dddfe2; }
  .alert-secondary hr {
    border-top-color: #cfd2d6; }
  .alert-secondary .alert-link {
    color: #2e3133; }

.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;
  border-radius: 0.25rem; }

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

.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 {
  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:focus, .list-group-item-action:hover {
    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;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .list-group-item:focus, .list-group-item:hover {
    z-index: 1;
    text-decoration: none; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #868e96;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }

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

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }

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

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

a.list-group-item-primary,
button.list-group-item-primary {
  color: #004085; }
  a.list-group-item-primary:focus, a.list-group-item-primary:hover,
  button.list-group-item-primary:focus,
  button.list-group-item-primary:hover {
    color: #004085;
    background-color: #9fcdff; }
  a.list-group-item-primary.active,
  button.list-group-item-primary.active {
    color: #fff;
    background-color: #004085;
    border-color: #004085; }

.list-group-item-secondary {
  color: #464a4e;
  background-color: #dddfe2; }

a.list-group-item-secondary,
button.list-group-item-secondary {
  color: #464a4e; }
  a.list-group-item-secondary:focus, a.list-group-item-secondary:hover,
  button.list-group-item-secondary:focus,
  button.list-group-item-secondary:hover {
    color: #464a4e;
    background-color: #cfd2d6; }
  a.list-group-item-secondary.active,
  button.list-group-item-secondary.active {
    color: #fff;
    background-color: #464a4e;
    border-color: #464a4e; }

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

a.list-group-item-success,
button.list-group-item-success {
  color: #155724; }
  a.list-group-item-success:focus, a.list-group-item-success:hover,
  button.list-group-item-success:focus,
  button.list-group-item-success:hover {
    color: #155724;
    background-color: #b1dfbb; }
  a.list-group-item-success.active,
  button.list-group-item-success.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

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

a.list-group-item-info,
button.list-group-item-info {
  color: #0c5460; }
  a.list-group-item-info:focus, a.list-group-item-info:hover,
  button.list-group-item-info:focus,
  button.list-group-item-info:hover {
    color: #0c5460;
    background-color: #abdde5; }
  a.list-group-item-info.active,
  button.list-group-item-info.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

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

a.list-group-item-warning,
button.list-group-item-warning {
  color: #856404; }
  a.list-group-item-warning:focus, a.list-group-item-warning:hover,
  button.list-group-item-warning:focus,
  button.list-group-item-warning:hover {
    color: #856404;
    background-color: #ffe8a1; }
  a.list-group-item-warning.active,
  button.list-group-item-warning.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

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

a.list-group-item-danger,
button.list-group-item-danger {
  color: #721c24; }
  a.list-group-item-danger:focus, a.list-group-item-danger:hover,
  button.list-group-item-danger:focus,
  button.list-group-item-danger:hover {
    color: #721c24;
    background-color: #f1b0b7; }
  a.list-group-item-danger.active,
  button.list-group-item-danger.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

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

a.list-group-item-light,
button.list-group-item-light {
  color: #818182; }
  a.list-group-item-light:focus, a.list-group-item-light:hover,
  button.list-group-item-light:focus,
  button.list-group-item-light:hover {
    color: #818182;
    background-color: #ececf6; }
  a.list-group-item-light.active,
  button.list-group-item-light.active {
    color: #fff;
    background-color: #818182;
    border-color: #818182; }

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

a.list-group-item-dark,
button.list-group-item-dark {
  color: #1b1e21; }
  a.list-group-item-dark:focus, a.list-group-item-dark:hover,
  button.list-group-item-dark:focus,
  button.list-group-item-dark:hover {
    color: #1b1e21;
    background-color: #b9bbbe; }
  a.list-group-item-dark.active,
  button.list-group-item-dark.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:focus, .close:hover {
    color: #000;
    text-decoration: none;
    opacity: .75; }
  .close:not([disabled]):not(.disabled) {
    cursor: pointer; }

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

.modal-open {
  overflow: hidden; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.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, -25%); }
  .modal.show .modal-dialog {
    transform: translate(0, 0); }

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

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

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  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;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem; }
  .modal-header .close {
    padding: 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;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef; }
  .modal-footer > :not(:first-child) {
    margin-left: .25rem; }
  .modal-footer > :not(:last-child) {
    margin-right: .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-centered {
    min-height: calc(100% - (1.75rem * 2)); }
  .modal-sm {
    max-width: 300px; } }

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

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

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

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

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

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

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

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

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow {
    bottom: calc((0.5rem + 1px) * -1); }
  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before,
  .bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after {
    border-width: 0.5rem 0.5rem 0; }
  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before {
    bottom: 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-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) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
  .bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
    border-width: 0.5rem 0.5rem 0.5rem 0; }
  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before {
    left: 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-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) * -1); }
  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before,
  .bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-width: 0 0.5rem 0.5rem 0.5rem; }
  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before {
    top: 0;
    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-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) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
  .bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
    border-width: 0.5rem 0 0.5rem 0.5rem; }
  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before {
    right: 0;
    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-left-color: #fff; }

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

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

.carousel {
  position: relative; }

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

.carousel-item {
  position: relative;
  display: none;
  align-items: center;
  width: 100%;
  transition: transform 0.6s ease;
  backface-visibility: hidden;
  perspective: 1000px; }

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

.carousel-item-next,
.carousel-item-prev {
  position: absolute;
  top: 0; }

.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
  transform: translateX(0); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-next.carousel-item-left,
    .carousel-item-prev.carousel-item-right {
      transform: translate3d(0, 0, 0); } }

.carousel-item-next,
.active.carousel-item-right {
  transform: translateX(100%); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-next,
    .active.carousel-item-right {
      transform: translate3d(100%, 0, 0); } }

.carousel-item-prev,
.active.carousel-item-left {
  transform: translateX(-100%); }
  @supports (transform-style: preserve-3d) {
    .carousel-item-prev,
    .active.carousel-item-left {
      transform: translate3d(-100%, 0, 0); } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5; }
  .carousel-control-prev:focus, .carousel-control-prev:hover,
  .carousel-control-next:focus,
  .carousel-control-next:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9; }

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

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

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

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 10px;
  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 {
    position: relative;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    background-color: rgba(255, 255, 255, 0.5); }
    .carousel-indicators li::before {
      position: absolute;
      top: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: ""; }
    .carousel-indicators li::after {
      position: absolute;
      bottom: -10px;
      left: 0;
      display: inline-block;
      width: 100%;
      height: 10px;
      content: ""; }
  .carousel-indicators .active {
    background-color: #fff; }

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

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

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

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

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

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

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

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

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

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

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

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

a.bg-success:focus, a.bg-success:hover,
button.bg-success:focus,
button.bg-success:hover {
  background-color: #1e7e34 !important; }

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

a.bg-info:focus, a.bg-info:hover,
button.bg-info:focus,
button.bg-info:hover {
  background-color: #117a8b !important; }

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

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

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

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

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

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

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

a.bg-dark:focus, a.bg-dark:hover,
button.bg-dark:focus,
button.bg-dark:hover {
  background-color: #1d2124 !important; }

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

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

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

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

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

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

.border-secondary {
  border-color: #868e96 !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 {
  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-circle {
  border-radius: 50% !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; } }

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

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

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

@media print {
  .d-print-none {
    display: none !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; }

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

.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;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.m-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-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-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-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-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-justify {
  text-align: justify !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-normal {
  font-weight: 400 !important; }

.font-weight-bold {
  font-weight: 700 !important; }

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

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

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

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

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

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

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

a.text-success:focus, a.text-success:hover {
  color: #1e7e34 !important; }

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

a.text-info:focus, a.text-info:hover {
  color: #117a8b !important; }

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

a.text-warning:focus, a.text-warning:hover {
  color: #d39e00 !important; }

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

a.text-danger:focus, a.text-danger:hover {
  color: #bd2130 !important; }

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

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

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

a.text-dark:focus, a.text-dark:hover {
  color: #1d2124 !important; }

.text-muted {
  color: #868e96 !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #999;
    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; }
  .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 #ddd !important; } }

.card {
  border-color: limegreen;
  background-color: #000000;
  color: #ffffff; 
  padding: 0.5em;}
  
.btn {
  background-color: limegreen;
  border-color: limegreen;
}


#map {
  margin: 4em 0 1em;
  width: 100%;
  height: 450px; }

html {
  font-size: 100%;
  line-height: 1.3; }
  @media all and (min-width: 34em) {
    html {
      font-size: 112.5%; } }
  @media all and (min-width: 62em) {
    html {
      font-size: 125%;
      line-height: 1.4; } }

body {
  font-family: "Hack", sans-serif;
  background: #000000;
  color: #ffffff; }
  body a {
    color: #ffffff;
    border-bottom: 0.15em solid limegreen; }
    body a:hover {
      color: limegreen;
      text-decoration: none; }
  @media (max-width: 34em) {
    body {
      margin-left: 15px;
      margin-right: 15px; } }

hr {
  border-top-color: limegreen;
  border-top-width: 0.7rem;
  border-top-style: dotted;
  margin-bottom: 3rem; }

h1 {
  font-size: 3.129rem;
  line-height: 1.2; }
  @media all and (min-width: 62em) {
    h1 {
      font-size: 2.3353rem;
      line-height: 1.3; } }

h1.blog {
  margin-top: 2em;
  margin-bottom: 0; }

h2 {
  margin: 2.6rem 0 1.3rem;
  font-size: 2.3353rem;
  line-height: 1.5; }
  @media all and (min-width: 62em) {
    h2 {
      font-size: 1.769rem; } }

h3 {
  font-size: 1.769rem; }
  @media all and (min-width: 62em) {
    h3 {
      font-size: 1.333rem; } }

img {
  max-width: 100%; }

#openimage {
  display: none; }

body.openspace #openimage {
  display: block; }

#metanav {
  text-align: right;
  margin-top: 1em;
  font-size: 70%; }

#header {
  background: #000000;
  color: #ffffff;
  padding: 1.5em 0;
  margin-top: 1em;
  margin-bottom: 3em; }
  #header .row {
    display: flex; }
    @media (max-width: 48em) {
      #header .row {
        display: block; } }
  #header #logolink {
    border-bottom: 0; }

.mainnav {
  font-family: "Hack", sans-serif;
  font-size: 120%; }
  .mainnav a {
    border-bottom: 0; }
  .mainnav ul {
    position: absolute;
    bottom: 0; }
    @media (max-width: 48em) {
      .mainnav ul {
        position: relative; } }

#content {
  margin-top: 1em; }

#listefahrten li {
  margin-bottom: 1em; }

#listefahrten .time {
  font-weight: bold; }

#listefahrten .stop:before {
  content: "H: "; }

#listefahrten .type {
  font-size: 85%; }

#listefahrten .number {
  font-size: 85%; }

#listefahrten .dest {
  font-size: 85%; }
  #listefahrten .dest:before {
    content: "in Richtung: "; }

#footer {
  background: #000000;
  color: #ffffff;
  margin-top: 4em;
  padding: 1.5em 0; }

.jumbo {
  font-family: "Hack", sans-serif;
  font-size: 200%;
  margin-bottom: 3rem; }
  .jumbo a {
    border-bottom: 0.15em solid limegreen; }
    .jumbo a:hover {
      text-decoration: none; }

.important {
  color: limegreen; }
  .important a {
    color: limegreen; }

.map {
  margin-top: 7em; }

blockquote {
  margin: 0 1rem;
  border-left: 2px solid #ccc;
  padding: 0 0.5rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdHlwaS9zY3NzL190eXBpLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdHlwaS9zY3NzL3R5L19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy90eXBpL3Njc3MvdHkvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3R5cGkvc2Nzcy90eXBpL190eXBpLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCJjb21wb25lbnRzL19tYXAuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL3R5cGkvc2Nzcy90eXBpXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY2FyZHMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2xheW91dC5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbWFwLnNjc3NcIjtcblxuaHRtbCB7XG4gIEBpbmNsdWRlIHR5cGktYmFzZSgpO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1pbnZlcnQ7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1pbnZlcnQ7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvci1mb250LWludmVydDtcbiAgICBib3JkZXItYm90dG9tOiAwLjE1ZW0gc29saWQgJGNvbG9yLWZvbnQtaGlnaGxpZ2h0LWludmVydDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1mb250LWhpZ2hsaWdodC1pbnZlcnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICBAbWVkaWEgKG1heC13aWR0aDogMzRlbSkgeyBcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuICBib3JkZXItdG9wLXdpZHRoOiAwLjdyZW07XG4gIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuaDEgeyBAaW5jbHVkZSB0eXBpKCRoMS1tYXApIH1cblxuaDEuYmxvZyB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDIgeyBcbiAgbWFyZ2luOiB2cigyKSAwIHZyKDEpO1xuICBAaW5jbHVkZSB0eXBpKCRoMi1tYXApXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmgzIHsgQGluY2x1ZGUgdHlwaSgkaDMtbWFwKSB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuI29wZW5pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkub3BlbnNwYWNlICNvcGVuaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI21ldGFuYXYge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBmb250LXNpemU6IDcwJTtcbn1cblxuI2hlYWRlciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kLWludmVydDtcbiAgY29sb3I6ICRjb2xvci1mb250LWludmVydDtcbiAgcGFkZGluZzogMS41ZW0gMDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG5cbiAgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIFxuICAjbG9nb2xpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cblxuLm1haW5uYXYge1xuICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQ7XG4gIGZvbnQtc2l6ZTogMTIwJTtcblxuICBhIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIFxuICB1bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4jY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuI2xpc3RlZmFocnRlbiB7XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgLnRpbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLnN0b3Age1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiSDogXCI7XG4gICAgfVxuICB9XG5cbiAgLnR5cGUge1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICB9XG5cbiAgLm51bWJlciB7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gIH1cblxuICAuZGVzdCB7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJpbiBSaWNodHVuZzogXCI7XG4gICAgfVxuICB9XG59XG5cbiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1pbnZlcnQ7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1pbnZlcnQ7XG4gIG1hcmdpbi10b3A6IDRlbTtcbiAgcGFkZGluZzogMS41ZW0gMDtcbn1cblxuLmp1bWJvIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kO1xuICBmb250LXNpemU6IDIwMCU7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xNWVtIHNvbGlkICRjb2xvci1mb250LWhpZ2hsaWdodC1pbnZlcnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmltcG9ydGFudCB7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuICB9XG59XG5cbi5tYXAge1xuICBtYXJnaW4tdG9wOiA3ZW07XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAwIDAuNXJlbTtcbn0iLCJAaW1wb3J0IFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2ZvbnQtaGFjay8yLjAyMC9jc3MvaGFjay5taW4uY3NzXCI7XG5cbiRjb2xvci1mb250OiAgICAgICAgICAgICAgICAgICMwMDAwMDA7XG4kY29sb3ItZm9udC1pbnZlcnQ6ICAgICAgICAgICAjZmZmZmZmO1xuJGNvbG9yLWJhY2tncm91bmQ6ICAgICAgICAgICAgI2ZmZmZmZjtcbiRjb2xvci1iYWNrZ3JvdW5kLWludmVydDogICAgICMwMDAwMDA7XG4kY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0OiBsaW1lZ3JlZW47XG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgICAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuXG4kZm9udC1icmFuZDogICAgICAgICAgICAgICAgICBcIkhhY2tcIiwgc2Fucy1zZXJpZjtcblxuJHR5cGk6IChcbiAgbnVsbDogKDE2cHgsIDEuMyksIC8vIFNldHMgbGluZS1oZWlnaHQgdG8gMS4zXG4gIHNtYWxsOiAxOHB4LFxuICBsYXJnZTogKDIwcHgsIDEuNCkgLy8gU2V0cyBsaW5lLWhlaWdodCB0byAxLjRcbik7XG5cbiRoMS1tYXA6IChcbiAgbnVsbDogKDMuMTI5ZW0sIDEuMiksXG4gIGxhcmdlOiAoMi4zMzUzZW0sIDEuMylcbik7XG5cbiRoMi1tYXA6IChcbiAgbnVsbDogMi4zMzUzZW0sXG4gIGxhcmdlOiAxLjc2OWVtXG4pO1xuXG4kaDMtbWFwOiAoXG4gIG51bGw6IDEuNzY5ZW0sXG4gIGxhcmdlOiAxLjMzM2VtXG4pO1xuICBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMzRlbSxcbiAgbGFyZ2U6IDYyZW1cbik7XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC4wLjAtYmV0YS4zIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE3IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAxNyBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1dGF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICMwMDAsICNmZmYpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM4NjhlOTYgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZSgoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbiksICRncmF5cyk7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pLCAkY29sb3JzKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSwgJHRoZW1lLWNvbG9ycyk7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpXG4pICFkZWZhdWx0O1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBGb250c1xuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSkgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lcn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItc219ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLWxnfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4odGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSwgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIGNhbGMoI3skY2FyZC1ib3JkZXItcmFkaXVzfSAtICN7JGNhcmQtYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjc1KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMXB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uXG5AbWl4aW4gaG92ZXIge1xuICAvLyBUT0RPOiByZS1lbmFibGUgYWxvbmcgd2l0aCBtcTQtaG92ZXItc2hpbVxuLy8gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbi8vICAgIC8vIFNlZSBNZWRpYSBRdWVyaWVzIExldmVsIDQ6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4vLyAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuLy8gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbi8vICAgICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICAgIH1cbi8vICB9XG4vLyAgQGVsc2Uge1xuICAgICY6aG92ZXIgeyBAY29udGVudDsgfVxuLy8gIH1cbn1cblxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tYmxvY2stbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgJjpub3QoW2Rpc2FibGVkXSk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdChbZGlzYWJsZWRdKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogI2ZmZiwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdChbZGlzYWJsZWRdKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KFtkaXNhYmxlZF0pOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3ItaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICgkc3BhY2VyIC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG5cbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCJAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgb3JkZXI6ICRpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gU2V0dGluZyBAdmlld3BvcnQgY2F1c2VzIHNjcm9sbGJhcnMgdG8gb3ZlcmxhcCBjb250ZW50IGluIElFMTEgYW5kIEVkZ2UsIHNvXG4vLyAgICB3ZSBmb3JjZSBhIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhciB0byBjb3VudGVyYWN0LlxuLy8gNi4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjsgLy8gNVxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIDZcbn1cblxuLy8gSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzLlxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2VycylcbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2UgdGhlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC13ZWlnaHQtbm90YXRpb25cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZvbnQtd2VpZ2h0LW5vdGF0aW9uXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZm9udC1mYW1pbHktbm8tZHVwbGljYXRlLW5hbWVzXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgZm9udC1zaXplOiAxZW07IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgZm9udC1mYW1pbHktbm8tZHVwbGljYXRlLW5hbWVzXG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIFdlIGhhdmUgQHZpZXdwb3J0IHNldCB3aGljaCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbiAgLy8gd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG59XG5cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuLy8gU2VlOlxuLy8gKiBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZG9jcy80LjAvY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4vLyAqIGh0dHBzOi8vcGF0cmlja2hsYXVrZS5naXRodWIuaW8vdG91Y2gvdGVzdHMvcmVzdWx0cy8jc3VwcHJlc3NpbmctMzAwbXMtZGVsYXlcblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0Om5vdChbdHlwZT1cInJhbmdlXCJdKSxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBmcm9tIHRoZSBgPGJvZHk+YCwgb3IgdGhlXG4gIC8vIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemU7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkxLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6ICRkaXNwbGF5My1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXk0LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQ7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQ7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAka2JkLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aCAxMDAlIHdpZHRoIGZvclxuLy8gZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTAwNTdcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIC8vIE1hbnVhbGx5IHVzZSB0aGUgaWYvZWxzZSBpbnN0ZWFkIG9mIHRoZSBtaXhpbiB0byBhY2NvdW50IGZvciBpT1Mgb3ZlcnJpZGVcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVuZG8gdGhlIGlPUyBkZWZhdWx0XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcInZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yKTtcbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRmb250LXNpemUtYmFzZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIC8vIFNoYXJlIGhvdmVyIGFuZCBmb2N1cyBzdHlsZXNcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5idG4gZWxlbWVudHNcbiAgJjpub3QoW2Rpc2FibGVkXSk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6bm90KFtkaXNhYmxlZF0pOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoW2Rpc2FibGVkXSk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUsICRncmF5LTkwMCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSwgJHdoaXRlKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJi5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxudHIge1xuICAmLmNvbGxhcHNlLnNob3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgfVxufVxuXG50Ym9keSB7XG4gICYuY29sbGFwc2Uuc2hvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7IC8vIFJlZGVjbGFyZSBiZWNhdXNlIG5lc3RpbmcgY2FuIGNhdXNlIGluaGVyaXRhbmNlIGlzc3Vlc1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZyk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAgKyAuYnRuLFxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmJ0bixcbiAgLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3QsXG4gIC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgLy8gQWRkIHdpZHRoIDElIGFuZCBmbGV4LWJhc2lzIGF1dG8gdG8gZW5zdXJlIHRoYXQgYnV0dG9uIHdpbGwgbm90IHdyYXAgb3V0XG4gICAgLy8gdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRSBFZGdlKyBhbmQgRmlyZWZveC4gQ2hyb21lIGRvZXMgbm90IHJlcXVpcmUgdGhpcy5cbiAgICB3aWR0aDogMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgICsgLmZvcm0tY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gIC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtc207XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogKDFyZW0gKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHN1ZWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCgkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoKCRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogY2FsYygjeyRjdXN0b20tZmlsZS1oZWlnaHR9IC0gI3skY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRofSAqIDIpO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3Blcml0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItYnJhbmQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVuYXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5uYXZiYXItdG9nZ2xlciBlbGVtZW50c1xuICAmOm5vdChbZGlzYWJsZWRdKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7ICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcHVwIHtcbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZztcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG59XG5cbi5jYXJkLWltZyB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENhcmQgaW1hZ2UgY2Fwc1xuLmNhcmQtaW1nLXRvcCB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjNC1mbGV4LXNob3J0aGFuZC1kZWNsYXJhdGlvbnMtd2l0aC11bml0bGVzcy1mbGV4LWJhc2lzLXZhbHVlcy1hcmUtaWdub3JlZFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyM0LWZsZXgtc2hvcnRoYW5kLWRlY2xhcmF0aW9ucy13aXRoLXVuaXRsZXNzLWZsZXgtYmFzaXMtdmFsdWVzLWFyZS1pZ25vcmVkXG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWhlYWRlcixcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuXG4gIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAucGFnZS1saW5rIGVsZW1lbnRzXG4gICY6bm90KFtkaXNhYmxlZF0pOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTEwKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xuICB9XG59XG4iLCJAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBmb250LXNpemU6ICRwcm9ncmVzcy1mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9hY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICRjbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogLjc1O1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5jbG9zZSBlbGVtZW50c1xuICAmOm5vdChbZGlzYWJsZWRdKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG5cbiAgLm1vZGFsLW9wZW4gJiB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbn0gKiAyKSk7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcblxuICAvLyBFYXNpbHkgcGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAuMjVyZW07IH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfSAqIDIpKTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyB7IG1heC13aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJGJvcmRlci1yYWRpdXMtbGc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJGJvcmRlci1yYWRpdXMtbGcgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAtMik7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgfVxuXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6IGNhbGMoI3skYm9yZGVyLXJhZGl1cy1sZ30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkb2Zmc2V0LWJvcmRlci13aWR0aCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gV3JhcHBlciBmb3IgdGhlIHNsaWRlIGNvbnRhaW5lciBhbmQgaW5kaWNhdG9yc1xuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG5cbi8vIENTUzMgdHJhbnNmb3JtcyB3aGVuIHN1cHBvcnRlZCBieSB0aGUgYnJvd3NlclxuLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldixcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICAvLyBXZSBjYW4ndCBoYXZlIGEgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAuOTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIC4yNSksIHJnYmEoMCwgMCwgMCwgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLCAwLCAwLCAuMjUpLCByZ2JhKDAsIDAsIDAsIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZywgLjUpO1xuXG4gICAgLy8gVXNlIHBzZXVkbyBjbGFzc2VzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9hbGlnblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9lbWJlZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbGV4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Zsb2F0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NjcmVlbnJlYWRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2l6aW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdGV4dFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy92aXNpYmlsaXR5XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG4uZC1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQtcHJpbnQtbm9uZSB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDkgLyAyMSk7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDkgLyAxNik7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMyAvIDQpO1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDEgLyAxKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCJAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBAaW5jbHVkZSBmbG9hdC1sZWZ0OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBAaW5jbHVkZSBmbG9hdC1ub25lOyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5cbi8vIFNhc3MgbGlzdCBub3QgaW4gdmFyaWFibGVzIHNpbmNlIGl0J3Mgbm90IGludGVuZGVkIGZvciBjdXN0b21pemF0aW9uLlxuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3k7XG5cbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgpO1xufVxuIiwiLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZSh2aXNpYmxlKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZShoaWRkZW4pO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjOTk5OyAgIC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiR0eXBpOiAobnVsbDogKDE2cHgsIDEuNSkpICFkZWZhdWx0O1xuJHR5cGktbXM6IGZhbHNlICFkZWZhdWx0O1xuJHR5cGktYnJlYWtwb2ludDogbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCAndHkvbWl4aW5zJztcbkBpbXBvcnQgJ3R5L2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd0eXBpL3R5cGknO1xuIiwiXG4vLyBfdHktYnJlYWtwb2ludFxuLy8gPT09PT09PT09PT09PT1cbi8vIEFsbG93cyB1c2Ugb2YgYnJlYWtwb2ludC1zYXNzIGFuZCBtYXBweS1icC5cbi8vIEZhbGxzIGJhY2sgdG8gZGVmYXVsdCBtZXRob2Qgb3RoZXJ3aXNlLlxuQG1peGluIF90eS1icmVha3BvaW50KFxuICAkdHlwaS1tYXBcbikge1xuICAkYnJlYWtwb2ludDogbWFwLWdldCgkdHlwaS1tYXAsIGJyZWFrcG9pbnQpO1xuICAkYnJlYWtwb2ludHM6IG1hcC1nZXQoJHR5cGktbWFwLCBicmVha3BvaW50cyk7XG4gICRicC12YWw6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cbiAgQGlmICR0eXBpLWJyZWFrcG9pbnQgPT0gYnJlYWtwb2ludCB7XG4gICAgQGlmIG1peGluLWV4aXN0cyhicmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgdHJ1ZSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGluY2x1ZGUgX3R5LXdyaXRlLXByb3BzKCR0eXBpLW1hcCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0JyZWFrcG9pbnQtc2FzcyBMaWJyYXJ5IG5vdCBmb3VuZCdcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwaS1icmVha3BvaW50ID09IG1hcHB5LWJyZWFrcG9pbnQgb3IgJHR5cGktYnJlYWtwb2ludCA9PSBtYXBweS1icmVha3BvaW50cyB7XG4gICAgQGlmIG1peGluLWV4aXN0cyhtYXBweS1icCkge1xuICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAaW5jbHVkZSBfdHktd3JpdGUtcHJvcHMoJHR5cGktbWFwKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciAnTWFwcHkgQnJlYWtwb2ludHMgTGlicmFyeSBub3QgZm91bmQnXG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICN7bWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KX0pIHtcbiAgICAgIEBpbmNsdWRlIF90eS13cml0ZS1wcm9wcygkdHlwaS1tYXApO1xuICAgIH1cbiAgfVxufVxuXG4vLyBfdHktd3JpdGUtcHJvcHNcbi8vID09PT09PT09PT09PT09PVxuLy8gV3JpdGVzIGZvbnQtc2l6ZSAoYW5kIGxpbmUgaGVpZ2h0KSBwcm9wZXJ0aWVzXG5AbWl4aW4gX3R5LXdyaXRlLXByb3BzIChcbiAgJHR5cGktbWFwXG4pIHtcbiAgJHRhcmdldDogbWFwLWdldCgkdHlwaS1tYXAsIHRhcmdldCk7XG4gICRicmVha3BvaW50OiBtYXAtZ2V0KCR0eXBpLW1hcCwgYnJlYWtwb2ludCk7XG4gICR0eXBpOiBtYXAtZ2V0KCR0eXBpLW1hcCwgdHlwaSk7XG4gICRiYXNlOiBtYXAtZ2V0KCR0eXBpLW1hcCwgYmFzZSk7XG4gICRyZW06IG1hcC1nZXQoJHR5cGktbWFwLCByZW0pO1xuXG4gICRicC12YWw6IG1hcC1nZXQoJHRhcmdldCwgJGJyZWFrcG9pbnQpO1xuICAkZm9udC1zaXplOiBudWxsO1xuICAkbGluZS1oZWlnaHQ6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJGJwLXZhbCkgPT0gJ251bGwnIHtcbiAgICAkbGFzdC12YWxpZC1icmVha3BvaW50OiBtYXAtZ2V0KCR0eXBpLW1hcCwgbGFzdC12YWxpZC1icmVha3BvaW50KTtcbiAgICAkYnAtdmFsOiBtYXAtZ2V0KCR0YXJnZXQsICRsYXN0LXZhbGlkLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJGJwLXZhbCkgPT0gXCJsaXN0XCIgYW5kIGxlbmd0aCgkYnAtdmFsKSA+IDEge1xuICAgICRmb250LXNpemU6IG50aCgkYnAtdmFsLCAxKTtcbiAgICAkbGluZS1oZWlnaHQ6IG50aCgkYnAtdmFsLCAyKTtcbiAgICBmb250LXNpemU6IF90eS1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGJyZWFrcG9pbnQsICR0eXBpLCAkcmVtLCAkYmFzZSwgJHR5cGktbWFwKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG4gIEBlbHNlICB7XG4gICAgJGZvbnQtc2l6ZTogJGJwLXZhbDtcbiAgICBmb250LXNpemU6IF90eS1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGJyZWFrcG9pbnQsICR0eXBpLCAkcmVtLCAkYmFzZSwgJHR5cGktbWFwKTtcbiAgfVxufSIsIi8vIF90eS1mb250LXNpemVcbi8vID09PT09PT09PT09PT1cbi8vIENhbGxzIF90eS1jYWxjLWZvbnQtc2l6ZSBvciBfdHktYmFzZS1zaXplXG5AZnVuY3Rpb24gX3R5LWZvbnQtc2l6ZShcbiAgJGZvbnQtc2l6ZSxcbiAgJGJyZWFrcG9pbnQsXG4gICR0eXBpLFxuICAkcmVtLFxuICAkYmFzZTogZmFsc2UsXG4gICR0eXBpLW1hcDogZmFsc2Vcbikge1xuICBAaWYgJGJhc2UgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBfdHktYmFzZS1zaXplKCRmb250LXNpemUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIF90eS1jYWxjLWZvbnQtc2l6ZSgkZm9udC1zaXplLCAkYnJlYWtwb2ludCwgJHR5cGksICRyZW0sICR0eXBpLW1hcCk7XG4gIH1cbn1cblxuLy8gX3R5LWNhbGMtZm9udC1zaXplXG4vLyA9PT09PT09XG4vLyByZXR1cm5zIGNvcnJlY3QgcmVtIHZhbHVlIGRlcGVuZGluZyBvblxuLy8gYnJlYWtwb2ludFxuQGZ1bmN0aW9uIF90eS1jYWxjLWZvbnQtc2l6ZShcbiAgJGZvbnQtc2l6ZSxcbiAgJGJyZWFrcG9pbnQsXG4gICR0eXBpLFxuICAkcmVtLFxuICAkdHlwaS1tYXA6IGZhbHNlXG4pIHtcbiAgQGlmIHVuaXRsZXNzKCRmb250LXNpemUpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKG1zKSB7XG4gICAgICAkdHlwaS1tczogbWFwLWdldCgkdHlwaS1tYXAsIG1zKTtcbiAgICAgIEBpZiAkcmVtIHtcbiAgICAgICAgQHJldHVybiBfdHktc3RyaXAtdW5pdChfdHktbXMoJGZvbnQtc2l6ZSwgJGJyZWFrcG9pbnQsICR0eXBpLW1zLCAkdHlwaS1tYXApKSAqIDFyZW07XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBfdHktbXMoJGZvbnQtc2l6ZSwgJGJyZWFrcG9pbnQsICR0eXBpLW1zLCAkdHlwaS1tYXApO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiTW9kdWxhciBTY2FsZSBMaWJyYXJ5IHJlcXVpcmVkXCI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBweCBhbmQgZW0gaW50byByZW1cbiAgQGVsc2UgaWYgJHJlbSB7XG4gICAgQGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ2VtJyB7XG4gICAgICBAcmV0dXJuIF90eS1zdHJpcC11bml0KCRmb250LXNpemUpICogMXJlbTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiB1bml0KCRmb250LXNpemUpID09ICdweCcge1xuICAgICAgJGJhc2VtYXA6IG1hcC1nZXQoJHR5cGksICRicmVha3BvaW50KTtcbiAgICAgICRiYXNlZm9udDogaWYodHlwZS1vZigkYmFzZW1hcCkgPT0gJ2xpc3QnLCBudGgoJGJhc2VtYXAsIDEpLCAkYmFzZW1hcCk7XG5cbiAgICAgIEBpZiAkYmFzZWZvbnQgPT0gbnVsbCB7XG4gICAgICAgICRiYXNlZm9udDogbnRoKG1hcC1nZXQoJHR5cGksIG51bGwpLCAxKTtcbiAgICAgIH1cblxuICAgICAgQHJldHVybiAkZm9udC1zaXplIC8gJGJhc2Vmb250ICogMXJlbTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRmb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydHMgcmVtIGFuZCBweCBpbnRvIGVtXG4gIEBlbHNlIHtcbiAgICBAaWYgdW5pdCgkZm9udC1zaXplKSA9PSAncmVtJyB7XG4gICAgICBAcmV0dXJuIF90eS1zdHJpcC11bml0KCRmb250LXNpemUpICogMWVtO1xuICAgIH1cblxuICAgIEBlbHNlIGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4JyB7XG4gICAgICAkYmFzZW1hcDogbWFwLWdldCgkdHlwaSwgJGJyZWFrcG9pbnQpO1xuICAgICAgJGJhc2Vmb250OiBpZih0eXBlLW9mKCRiYXNlbWFwKSA9PSAnbGlzdCcsIG50aCgkYmFzZW1hcCwgMSksICRiYXNlbWFwKTtcblxuICAgICAgQGlmICRiYXNlZm9udCA9PSBudWxsIHtcbiAgICAgICAgJGJhc2Vmb250OiBudGgobWFwLWdldCgkdHlwaSwgbnVsbCksIDEpO1xuICAgICAgfVxuXG4gICAgICBAcmV0dXJuIF90eS1lbSgkZm9udC1zaXplLCAkYmFzZWZvbnQpO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJGZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gX3R5LWJhc2Utc2l6ZVxuLy8gPT09PT09PT09PT09PVxuLy8gQ29udmVydHMgVHlwaSBzaXplcyBpbnRvIHBlcmNlbnRhZ2VzXG5AZnVuY3Rpb24gX3R5LWJhc2Utc2l6ZShcbiAgJGZvbnQtc2l6ZVxuKSB7XG4gIEBpZiB1bml0KCRmb250LXNpemUpID09ICdweCcge1xuICAgIEByZXR1cm4gJGZvbnQtc2l6ZSAvIDE2cHggKiAxMDAlO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnVHlwaSBmb250IHNpemVzIG11c3QgYmUgd3JpdHRlbiBpbiBwaXhlbHMnO1xuICB9XG59XG5cblxuLy8gX3R5LXN0cmlwLXVuaXRcbi8vID09PT09PT09PT09PT09XG5AZnVuY3Rpb24gX3R5LXN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gX3R5LWVtXG4vLyA9PT09PT09PVxuQGZ1bmN0aW9uIF90eS1lbSgkZm9udC1zaXplLCAkcmVmLXNpemU6IGZhbHNlKSB7XG4gIEBpZiAoJHJlZi1zaXplKSB7XG4gICAgQHJldHVybiAkZm9udC1zaXplIC8gJHJlZi1zaXplICogMWVtO1xuICB9XG59XG5cbi8vIF90eS1yZW1cbi8vID09PT09PT09PVxuQGZ1bmN0aW9uIF90eS1yZW0oJGZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJGZvbnQtc2l6ZSkgLyAxNiAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgdW5pdCgkZm9udC1zaXplKSA9PSAnZW0nIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJGZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG59XG5cbi8vIF90eS1tc1xuLy8gPT09PT09XG5AZnVuY3Rpb24gX3R5LW1zKFxuICAkbXVsdGlwbGllcixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR0eXBpLW1zOiAkdHlwaS1tcyxcbiAgJHR5cGktbWFwOiBmYWxzZVxuKSB7XG4gICRtcy1zZXR0aW5nOiBudWxsO1xuICBAaWYgbWFwLWhhcy1rZXkoJHR5cGktbXMsICRicmVha3BvaW50KSB7XG4gICAgJG1zLXNldHRpbmc6IG1hcC1nZXQoJHR5cGktbXMsICRicmVha3BvaW50KTtcbiAgfSBAZWxzZSB7XG4gICAgJGxhc3QtdmFsaWQtbXM6IG1hcC1nZXQoJHR5cGktbWFwLCBsYXN0LXZhbGlkLW1zKTtcbiAgICAkbXMtc2V0dGluZzogbWFwLWdldCgkdHlwaS1tcywgJGxhc3QtdmFsaWQtbXMpO1xuICB9XG5cbiAgJHR5LW1zLWJhc2U6IG51bGw7XG4gICR0eS1tcy1yYXRpbzogbnVsbDtcblxuICBAZm9yICRpIGZyb20gMSB0byBsZW5ndGgoJG1zLXNldHRpbmcpICsgMSB7XG4gICAgJHZhbDogbnRoKCRtcy1zZXR0aW5nLCAkaSk7XG5cblxuICAgIC8vIEZvciBjb21iaW5hdGlvbnMgb2YgbXVsdGlwbGUgYmFzZXMgKyBtdWx0aXBsZSByYXRpb3NcbiAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcge1xuICAgICAgQGlmIG5vdCB1bml0bGVzcyhudGgoJHZhbCwgMSkpIHtcbiAgICAgICAgJHR5LW1zLWJhc2U6ICR2YWw7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHR5LW1zLXJhdGlvOiAkdmFsO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBGb3IgY29tYmluYXRpb25zIG9mIDEgYmFzZSArIG11bHRpcGxlIHJhdGlvc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB1bml0bGVzcygkdmFsKSB7XG4gICAgICAgIEBpZiAkdHktbXMtcmF0aW8gPT0gbnVsbCB7XG4gICAgICAgICAgJHR5LW1zLXJhdGlvOiAkdmFsO1xuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHR5LW1zLXJhdGlvKSA9PSBcIm51bWJlclwiIHtcbiAgICAgICAgICAkdHktbXMtcmF0aW86ICR0eS1tcy1yYXRpbyAkdmFsO1xuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHR5LW1zLXJhdGlvKSA9PSBcImxpc3RcIiB7XG4gICAgICAgICAgJHR5LW1zLXJhdGlvOiBhcHBlbmQoJHR5LW1zLXJhdGlvLCAkdmFsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkdHktbXMtYmFzZSA9PSBudWxsIHtcbiAgICAgICAgICAkdHktbXMtYmFzZTogJHZhbDtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR0eS1tcy1iYXNlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgICAgJHR5LW1zLWJhc2U6ICgkdHktbXMtYmFzZSAkdmFsKVxuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHR5LW1zLWJhc2UpID09ICdsaXN0JyB7XG4gICAgICAgICAgJHR5LW1zLWJhc2U6IGFwcGVuZCgkdHktbXMtYmFzZSwgJHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHR5LW1zLWJhc2UgPT0gbnVsbCB7XG4gICAgJHR5LW1zLWJhc2U6IDFlbTtcbiAgfVxuXG4gIEByZXR1cm4gbXMoJG11bHRpcGxpZXIsICR0eS1tcy1iYXNlLCAkdHktbXMtcmF0aW8pO1xufVxuXG4vLyBfdHktZ2V0LWJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09XG5AZnVuY3Rpb24gX3R5LWdldC1icmVha3BvaW50cygkYnJlYWtwb2ludHMsICR0eXBpLW1zLCAkdGFyZ2V0KSB7XG4gICRfcmV0dXJuOiBudWxsO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIHR5cGUtb2YoJHR5cGktbXMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkdHlwaS1tcywgJGJyZWFrcG9pbnQpIHtcbiAgICAgIEBpZiBub3QgaW5kZXgoJF9yZXR1cm4sICRicmVha3BvaW50KSB7XG4gICAgICAgICRfcmV0dXJuOiBhcHBlbmQoJF9yZXR1cm4sICRicmVha3BvaW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJHRhcmdldCwgJGJyZWFrcG9pbnQpIHtcbiAgICAgIEBpZiBub3QgaW5kZXgoJF9yZXR1cm4sICRicmVha3BvaW50KSB7XG4gICAgICAgICRfcmV0dXJuOiBhcHBlbmQoJF9yZXR1cm4sICRicmVha3BvaW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuLy8gX3R5LWdldC1iYXNlLWZvbnRcbkBmdW5jdGlvbiBfdHktZ2V0LWJhc2UtZm9udCgkdHlwaSkge1xuICAkYmFzZS1tYXA6IG1hcC1nZXQoJHR5cGksIG51bGwpO1xuICBAcmV0dXJuIG50aCgkYmFzZS1tYXAsIDEpO1xufVxuXG4vLyBfdHktZ2V0LWJhc2UtbGluZS1oZWlnaHRcbkBmdW5jdGlvbiBfdHktZ2V0LWJhc2UtbGluZS1oZWlnaHQoJHR5cGkpIHtcbiAgJGJhc2UtbWFwOiBtYXAtZ2V0KCR0eXBpLCBudWxsKTtcbiAgJGJhc2UtbGluZS1oZWlnaHQ6IG51bGw7XG5cbiAgQGlmIGxlbmd0aCgkYmFzZS1tYXApID4gMSB7XG4gICAgJGJhc2UtbGluZS1oZWlnaHQ6IG50aCgkYmFzZS1tYXAsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCIkdHlwaSBtYXAgc2hvdWxkIGNvbnRhaW4gYSBzZWNvbmQgYXJndW1lbnQgKGxpbmUtaGVpZ2h0KSBpbiB0aGUgYG51bGxgIGtleVwiO1xuICB9XG5cbiAgQGlmIG5vdCB1bml0KCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSBcIlwiIHtcbiAgICBAZXJyb3IgXCJsaW5lLWhlaWdodCBtdWx0aXBsZSBvbiB0aGUgYG51bGxgIGtleSBzaG91bGQgYmUgdW5pdGxlc3NcIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJhc2UtbGluZS1oZWlnaHQ7XG59XG4iLCJAbWl4aW4gdHlwaShcbiAgJHRhcmdldC1tYXAsXG4gICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzLFxuICAkdHlwaTogJHR5cGksXG4gICR0eXBpLW1zOiAkdHlwaS1tcyxcbiAgJGJhc2U6IGZhbHNlLFxuICAkcmVtOiB0cnVlXG4pIHtcbiAgJHR5cGktbWFwOiAoXG4gICAgdGFyZ2V0OiAkdGFyZ2V0LW1hcCxcbiAgICBicmVha3BvaW50czogJGJyZWFrcG9pbnRzLFxuICAgIHR5cGk6ICR0eXBpLFxuICAgIGJhc2U6ICRiYXNlLFxuICAgIHJlbTogJHJlbSxcbiAgICBtczogJHR5cGktbXNcbiAgKTtcblxuICAkYnJlYWtwb2ludHMtdG8tb3V0cHV0OiBfdHktZ2V0LWJyZWFrcG9pbnRzKCRicmVha3BvaW50cywgJHR5cGktbXMsICR0YXJnZXQtbWFwKTtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzLXRvLW91dHB1dCB7XG4gICAgJHRhcmdldDogJHRhcmdldC1tYXA7XG4gICAgJHR5cGktbWFwOiBtYXAtbWVyZ2UoJHR5cGktbWFwLCAoYnJlYWtwb2ludDogJGJyZWFrcG9pbnQpKTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF90eS13cml0ZS1wcm9wcygkdHlwaS1tYXApO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpbmNsdWRlIF90eS1icmVha3BvaW50KCR0eXBpLW1hcCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJNaXNzaW5nICN7JGJyZWFrcG9pbnR9IGluICRicmVha3BvaW50cyBtYXBcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcHJldmlvdXMgdmFsaWQgYnJlYWtwb2ludFxuICAgIEBpZiBtYXAtaGFzLWtleSgkdGFyZ2V0LCAkYnJlYWtwb2ludCkge1xuICAgICAgJHR5cGktbWFwOiBtYXAtbWVyZ2UoJHR5cGktbWFwLCAobGFzdC12YWxpZC1icmVha3BvaW50OiAkYnJlYWtwb2ludCkpXG4gICAgfVxuXG4gICAgLy8gQWRkIHByZXZpb3VzIHZhbGlkIG1zXG4gICAgQGlmIHR5cGUtb2YoJHR5cGktbXMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkdHlwaS1tcywgJGJyZWFrcG9pbnQpICB7XG4gICAgICAkdHlwaS1tYXA6IG1hcC1tZXJnZSgkdHlwaS1tYXAsIChsYXN0LXZhbGlkLW1zOiAkYnJlYWtwb2ludCkpXG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0eXBpLWJhc2UoXG4gICR0eXBpOiAkdHlwaSxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMsXG4gICR0eXBpLW1zOiAkdHlwaS1tcyxcbiAgJGJhc2U6IHRydWUsXG4gICRyZW06IHRydWVcbikge1xuICBAaW5jbHVkZSB0eXBpKFxuICAgICR0eXBpLFxuICAgICRicmVha3BvaW50cyxcbiAgICAkdHlwaTogJHR5cGksXG4gICAgJHR5cGktbXM6ICR0eXBpLW1zLFxuICAgICRiYXNlOiAkYmFzZSxcbiAgICAkcmVtOiAkcmVtXG4gICk7XG59XG5cbi8vIFZlcnRpY2FsIHJoeXRobSBmdW5jdGlvbi4gUG9zc2libGUgdG8gb3V0cHV0IGJvdGggRU0gYW5kIFJFTS5cbi8vIFJlcXVpcmVzIGxpbmUgaGVpZ2h0IHRvIGJlIHNldCBvbiAkdHlwaSBtYXAgZm9yICdudWxsJyBicmVha3BvaW50XG5AZnVuY3Rpb24gdnIoJHZyLCAkY3VycmVudC1mb250OiBudWxsLCAkdHlwaTogJHR5cGkpIHtcbiAgJGJhc2UtZm9udDogX3R5LWdldC1iYXNlLWZvbnQoJHR5cGkpO1xuICAkYmFzZS1saW5lLWhlaWdodDogX3R5LWdldC1iYXNlLWxpbmUtaGVpZ2h0KCR0eXBpKTtcbiAgJHJoeXRobS1jb250ZXh0OiAkdnIgKiAkYmFzZS1saW5lLWhlaWdodDtcblxuICAvLyBDb252ZXJ0cyBpbnRvIEVNIGlmICRjdXJyZW50LWZvbnQgaXMgcHJvdmlkZWRcbiAgQGlmICRjdXJyZW50LWZvbnQge1xuICAgIEBpZiB1bml0KCRjdXJyZW50LWZvbnQpID09IFwicHhcIiB7XG4gICAgICAkcmh5dGhtLWNvbnRleHQ6ICRyaHl0aG0tY29udGV4dCAqICRiYXNlLWZvbnQ7XG5cbiAgICAgIEByZXR1cm4gJHJoeXRobS1jb250ZXh0IC8gJGN1cnJlbnQtZm9udCAqIDFlbTtcbiAgICB9XG5cbiAgICBAaWYgdW5pdCgkY3VycmVudC1mb250KSA9PSBcImVtXCIge1xuICAgICAgQHJldHVybiAkcmh5dGhtLWNvbnRleHQgLyBfdHktc3RyaXAtdW5pdCgkY3VycmVudC1mb250KSAqIDFlbTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJGb250IHNpemVzIHNob3VsZCBlaXRoZXIgYmUgcHggb3IgZW0gaWYgJGN1cnJlbnQtZm9udCBpcyBwcm92aWRlZFwiO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAaWYgdW5pdCgkYmFzZS1saW5lLWhlaWdodCkgPT0gJ3B4JyB7XG4gICAgICBAcmV0dXJuICR2ciAqICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplICogMXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHZyICogJGJhc2UtbGluZS1oZWlnaHQgKiAxcmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIFZlcnRpY2FsIFJoeXRobVxuQG1peGluIHJ2cigkcHJvcHMsICR2ciwgJHR5cGk6ICR0eXBpKSB7XG4gICRiYXNlLWZvbnQ6IF90eS1nZXQtYmFzZS1mb250KCR0eXBpKTtcbiAgJGJhc2UtbGluZS1oZWlnaHQ6IF90eS1nZXQtYmFzZS1saW5lLWhlaWdodCgkdHlwaSk7XG4gICR1bml0OiB1bml0KCRiYXNlLWxpbmUtaGVpZ2h0KTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICAgICN7JHByb3B9OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQgKiAxcmVtICogJHZyO1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcH06ICRiYXNlLWxpbmUtaGVpZ2h0ICogMXJlbSAqICR2cjtcbiAgICB9XG4gICAgI3skcHJvcH06IGNhbGModmFyKC0tYmFzZWxpbmUpICogI3sxcmVtICogJHZyfSk7XG4gIH1cbn0iLCIuY2FyZCB7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLWZvbnQtaGlnaGxpZ2h0LWludmVydDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtaW52ZXJ0O1xuICBjb2xvcjogJGNvbG9yLWZvbnQtaW52ZXJ0O1xufSIsIiIsIiNtYXAge1xuICBtYXJnaW46IDRlbSAwIDFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDUwcHg7XG59XG4iXSwibWFwcGluZ3MiOiJBQ0FBLE9BQU8sQ0FBUCwyREFBTztBQ0FQOzs7OztHQUtHO0FrQ0xILEFBQUEsS0FBSyxDQUFDO0VBR0YsTUFBVyxFQUFHLE9BQUM7RUFBZixRQUFXLEVBQUcsT0FBQztFQUFmLFFBQVcsRUFBRyxPQUFDO0VBQWYsTUFBVyxFQUFHLE9BQUM7RUFBZixLQUFXLEVBQUcsT0FBQztFQUFmLFFBQVcsRUFBRyxPQUFDO0VBQWYsUUFBVyxFQUFHLE9BQUM7RUFBZixPQUFXLEVBQUcsT0FBQztFQUFmLE1BQVcsRUFBRyxPQUFDO0VBQWYsTUFBVyxFQUFHLE9BQUM7RUFBZixPQUFXLEVBQUcsSUFBQztFQUFmLE1BQVcsRUFBRyxPQUFDO0VBQWYsV0FBVyxFQUFHLE9BQUM7RUFJZixTQUFXLEVBQUcsT0FBQztFQUFmLFdBQVcsRUFBRyxPQUFDO0VBQWYsU0FBVyxFQUFHLE9BQUM7RUFBZixNQUFXLEVBQUcsT0FBQztFQUFmLFNBQVcsRUFBRyxPQUFDO0VBQWYsUUFBVyxFQUFH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Q0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7RUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDs7QUFGRCxBQUFBLE1BQU0sQ0FBTjtFQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7RUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDs7QUFGRCxBQUFBLE1BQU0sQ0FBTjtFQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVU7RUFJcEIsU0FBUyxFQUFFLEdBQVUsR0REZDs7QUFGRCxBQUFBLE9BQU8sQ0FBUDtFQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7RUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDs7QUFGRCxBQUFBLE9BQU8sQ0FBUDtFQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7RUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDs7QUFGRCxBQUFBLE9BQU8sQ0FBUDtFQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQVU7RUFJcEIsU0FBUyxFQUFFLElBQVUsR0REZDs7QUFHSCxBQUFBLFlBQVksQ0FBWjtFQUNFLEtBQUssRUFBRSxFQUFHLEdBQ1g7O0FBR0MsQUFBQSxRQUFRLENBQVI7RUFDRSxLQUFLLEVBRkksQ0FBQyxHQUdYOztBQUZELEFBQUEsUUFBUSxDQUFSO0VBQ0UsS0FBSyxFQUZJLENBQUMsR0FHWDs7QUFGRCxBQUFBLFFBQVEsQ0FBUjtFQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxRQUFRLENBQVI7RUFDRSxLQUFLLEVBRkksQ0FBQyxHQUdYOztBQUZELEFBQUEsUUFBUSxDQUFSO0VBQ0UsS0FBSyxFQUZJLENBQUMsR0FHWDs7QUFGRCxBQUFBLFFBQVEsQ0FBUjtFQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxRQUFRLENBQVI7RUFDRSxLQUFLLEVBRkksQ0FBQyxHQUdYOztBQUZELEFBQUEsUUFBUSxDQUFSO0VBQ0UsS0FBSyxFQUZJLENBQUMsR0FHWDs7QUFGRCxBQUFBLFFBQVEsQ0FBUjtFQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUFDRSxLQUFLLEVBRkksRUFBQyxHQUdYOztBQUZELEFBQUEsU0FBUyxDQUFUO0VBQ0UsS0FBSyxFQUZJLEVBQUMsR0FHWDs7QUFGRCxBQUFBLFNBQVMsQ0FBVDtFQUNFLEtBQUssRUFGSSxFQUFDLEdBR1g7O0FBTUMsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFFBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLEdBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLEdBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxTQUFTLENBQVQ7RUNWUixXQUFXLEVBQW1CLEdBQVUsR0RZL0I7O0FBRkQsQUFBQSxVQUFVLENBQVY7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0FBRkQsQUFBQSxVQUFVLENBQVY7RUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0EzQkpQLE1BQU0sRUFBTCxTQUFTLEVBQUUsS0FBSztFMkI1QmYsQUFBQSxPQUFPLENBQVA7SUFDRSxVQUFVLEVBQUUsQ0FBRTtJQUNkLFNBQVMsRUFBRSxDQUFFO0lBQ2IsU0FBUyxFQUFFLElBQUssR0FDakI7RUFDRCxBQUFBLFlBQVksQ0FBWjtJQUNFLElBQUksRUFBRSxRQUFTO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixTQUFTLEVBQUUsSUFBSyxHQUNqQjtFQUdDLEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBVTtJQUlwQixTQUFTLEVBQUUsUUFBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVU7SUFJcEIsU0FBUyxFQUFFLEdBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVU7SUFJcEIsU0FBUyxFQUFFLEdBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVU7SUFJcEIsU0FBUyxFQUFFLEdBQVUsR0REZDtFQUZELEFBQUEsVUFBVSxDQUFWO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFB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TixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBVTtJQUlwQixTQUFTLEVBQUUsR0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBVTtJQUlwQixTQUFTLEVBQUUsR0FBVSxHRERkO0VBRkQsQUFBQSxVQUFVLENBQVY7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFVO0lBSXBCLFNBQVMsRUFBRSxTQUFVLEdERGQ7RUFGRCxBQUFBLFVBQVUsQ0FBVjtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsVUFBVSxDQUFWO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBVTtJQUlwQixTQUFTLEVBQUUsSUFBVSxHRERkO0VBR0gsQUFBQSxlQUFlLENBQWY7SUFDRSxLQUFLLEVBQUUsRUFBRyxHQUNYO0VBR0MsQUFBQSxXQUFXLENBQVg7SUFDRSxLQUFLLEVBRkksQ0FBQyxHQUdYO0VBRkQsQUFBQSxXQUFXLENBQVg7SUFDRSxLQUFLLEVBRkksQ0FBQyxHQUdYO0VBRkQsQUFBQSxXQUFX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QVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFVO0lBSXBCLFNBQVMsRUFBRSxHQUFVLEdERGQ7RUFGRCxBQUFBLFVBQVUsQ0FBVjtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsVUFBVSxDQUFWO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxVQUFVLENBQVY7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFVO0lBSXBCLFNBQVMsRUFBRSxJQUFVLEdERGQ7RUFHSCxBQUFBLGVBQWUsQ0FBZjtJQUNFLEtBQUssRUFBRSxFQUFHLEdBQ1g7RUFHQyxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFdBQVcsQ0FBWDtJQUNFLEtBQUssRUFGSSxDQUFDLEdBR1g7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQUNFLEtBQUssRUFGSSxFQUFDLEdBR1g7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQUNFLEtBQUssRUFGSSxFQUFDLEdBR1g7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQUNFLEtBQUssRUFGSSxFQUFDLEdBR1g7RUFNQyxBQUFBLFlBQVksQ0FBWjtJQ1ZSLFdBQVcsRUFBZ0IsQ0FBQyxHRFluQjtFQUZELEFBQUEsWUFBWSxDQUFaO0lDVlIsV0FBVyxFQUFtQixRQUFVLEdEWS9CO0VBRkQsQUFBQSxZQUFZLENBQVo7SUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQ1ZSLFdBQVcsRUFBbUIsR0FBVSxHRFkvQjtFQUZELEFBQUEsWUFBWSxDQUFaO0lDVlIsV0FBVyxFQUFtQixTQUFVLEdEWS9CO0VBRkQsQUFBQSxZQUFZLENBQVo7SUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQ1ZSLFdBQVcsRUFBbUIsR0FBVSxHRFkvQjtFQUZELEFBQUEsWUFBWSxDQUFaO0lDVlIsV0FBVyxFQUFtQixTQUFVLEdEWS9CO0VBRkQsQUFBQSxZQUFZLENBQVo7SUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7RUFGRCxBQUFBLFlBQVksQ0FBWjtJQ1ZSLFdBQVcsRUFBbUIsR0FBVSxHRFkvQjtFQUZELEFBQUEsYUFBYSxDQUFiO0lDVlIsV0FBVyxFQUFtQixTQUFVLEdEWS9CO0VBRkQsQUFBQSxhQUFhLENBQWI7SUNWUixXQUFXLEVBQW1CLFNBQVUsR0RZL0I7O0EzQkpQLE1BQU0sRUFBTCxTQUFTLEVBQUUsTUFBTTtFMkI1QmhCLEFBQUEsT0FBTyxDQUFQO0lBQ0UsVUFBVSxFQUFFLENBQUU7SUFDZCxTQUFTLEVBQUUsQ0FBRTtJQUNiLFNBQVMsRUFBRSxJQUFLLEdBQ2pCO0VBQ0QsQUFBQSxZQUFZLENBQVo7SUFDRSxJQUFJLEVBQUUsUUFBUztJQUNmLEtBQUssRUFBRSxJQUFLO0lBQ1osU0FBUyxFQUFFLElBQUssR0FDakI7RUFHQyxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVU7SUFJcEIsU0FBUyxFQUFFLFFBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFVO0lBSXBCLFNBQVMsRUFBRSxHQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFVO0lBSXBCLFNBQVMsRUFBRSxHQUFVLEdERGQ7RUFGRCxBQUFBLFNBQVMsQ0FBVDtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsU0FBUyxDQUFUO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBVTtJQUlwQixTQUFTLEVBQUUsU0FBVSxHRERkO0VBRkQsQUFBQSxTQUFTLENBQVQ7SUNETixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFVO0lBSXBCLFNBQVMsRUFBRSxHQUFVLEdERGQ7RUFGRCxBQUFBLFVBQVUsQ0FBVjtJQ0ROLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVU7SUFJcEIsU0FBUyxFQUFFLFNBQVUsR0REZDtFQUZELEFBQUEsVUFBVSxDQUFWO0lDRE4sSUFBSSxFQUFFLENBQUMsQ0FBQyxD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 */
