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

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

.bootstrap-dark :root {
  --blue: #3395ff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffce3a;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #3395ff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #fd7e14;
  --danger: #dc3545;
  --light: #dee2e6;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark ol ol,
.bootstrap-dark ul ul,
.bootstrap-dark ol ul,
.bootstrap-dark ul ol {
  margin-bottom: 0; }

.bootstrap-dark dt {
  font-weight: 700; }

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

.bootstrap-dark blockquote {
  margin: 0 0 1rem; }

.bootstrap-dark b,
.bootstrap-dark strong {
  font-weight: bolder; }

.bootstrap-dark small {
  font-size: 80%; }

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

.bootstrap-dark sub {
  bottom: -.25em; }

.bootstrap-dark sup {
  top: -.5em; }

.bootstrap-dark a {
  color: #adadad;
  text-decoration: none;
  background-color: transparent; }
  .bootstrap-dark a:hover {
    color: #878787;
    text-decoration: underline; }

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

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

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

.bootstrap-dark figure {
  margin: 0 0 1rem; }

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

.bootstrap-dark svg {
  overflow: hidden;
  vertical-align: middle; }

.bootstrap-dark table {
  border-collapse: collapse; }

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

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

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

.bootstrap-dark button {
  border-radius: 0; }

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

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

.bootstrap-dark button,
.bootstrap-dark input {
  overflow: visible; }

.bootstrap-dark button,
.bootstrap-dark select {
  text-transform: none; }

.bootstrap-dark [role="button"] {
  cursor: pointer; }

.bootstrap-dark select {
  word-wrap: normal; }

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

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

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

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

.bootstrap-dark textarea {
  overflow: auto;
  resize: vertical; }

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

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

.bootstrap-dark progress {
  vertical-align: baseline; }

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

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

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

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

.bootstrap-dark output {
  display: inline-block; }

.bootstrap-dark summary {
  display: list-item;
  cursor: pointer; }

.bootstrap-dark template {
  display: none; }

.bootstrap-dark [hidden] {
  display: none !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark small,
.bootstrap-dark .small {
  font-size: 0.875em;
  font-weight: 400; }

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

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

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

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

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

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

.bootstrap-dark .blockquote-footer {
  display: block;
  font-size: 0.875em;
  color: #6c757d; }
  .bootstrap-dark .blockquote-footer::before {
    content: "\2014\00A0"; }

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

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

.bootstrap-dark .figure {
  display: inline-block; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .order-first {
  order: -1; }

.bootstrap-dark .order-last {
  order: 13; }

.bootstrap-dark .order-0 {
  order: 0; }

.bootstrap-dark .order-1 {
  order: 1; }

.bootstrap-dark .order-2 {
  order: 2; }

.bootstrap-dark .order-3 {
  order: 3; }

.bootstrap-dark .order-4 {
  order: 4; }

.bootstrap-dark .order-5 {
  order: 5; }

.bootstrap-dark .order-6 {
  order: 6; }

.bootstrap-dark .order-7 {
  order: 7; }

.bootstrap-dark .order-8 {
  order: 8; }

.bootstrap-dark .order-9 {
  order: 9; }

.bootstrap-dark .order-10 {
  order: 10; }

.bootstrap-dark .order-11 {
  order: 11; }

.bootstrap-dark .order-12 {
  order: 12; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .table-primary,
.bootstrap-dark .table-primary > th,
.bootstrap-dark .table-primary > td {
  background-color: #c6e1ff; }

.bootstrap-dark .table-primary th,
.bootstrap-dark .table-primary td,
.bootstrap-dark .table-primary thead th,
.bootstrap-dark .table-primary tbody + tbody {
  border-color: #95c8ff; }

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .table-warning,
.bootstrap-dark .table-warning > th,
.bootstrap-dark .table-warning > td {
  background-color: #fedbbd; }

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

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

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

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

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

.bootstrap-dark .table-light,
.bootstrap-dark .table-light > th,
.bootstrap-dark .table-light > td {
  background-color: #f6f7f8; }

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

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

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

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

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

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

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

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

.bootstrap-dark .table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #343a40; }

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

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

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

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

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

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

.bootstrap-dark .table-primary,
.bootstrap-dark .table-primary > th,
.bootstrap-dark .table-primary > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-primary:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-primary:hover > td,
  .bootstrap-dark .table-hover .table-primary:hover > th {
    color: #343a40; }

.bootstrap-dark .table-secondary,
.bootstrap-dark .table-secondary > th,
.bootstrap-dark .table-secondary > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-secondary:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-secondary:hover > td,
  .bootstrap-dark .table-hover .table-secondary:hover > th {
    color: #343a40; }

.bootstrap-dark .table-success,
.bootstrap-dark .table-success > th,
.bootstrap-dark .table-success > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-success:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-success:hover > td,
  .bootstrap-dark .table-hover .table-success:hover > th {
    color: #343a40; }

.bootstrap-dark .table-info,
.bootstrap-dark .table-info > th,
.bootstrap-dark .table-info > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-info:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-info:hover > td,
  .bootstrap-dark .table-hover .table-info:hover > th {
    color: #343a40; }

.bootstrap-dark .table-warning,
.bootstrap-dark .table-warning > th,
.bootstrap-dark .table-warning > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-warning:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-warning:hover > td,
  .bootstrap-dark .table-hover .table-warning:hover > th {
    color: #343a40; }

.bootstrap-dark .table-danger,
.bootstrap-dark .table-danger > th,
.bootstrap-dark .table-danger > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-danger:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-danger:hover > td,
  .bootstrap-dark .table-hover .table-danger:hover > th {
    color: #343a40; }

.bootstrap-dark .table-light,
.bootstrap-dark .table-light > th,
.bootstrap-dark .table-light > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-light:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-light:hover > td,
  .bootstrap-dark .table-hover .table-light:hover > th {
    color: #343a40; }

.bootstrap-dark .table-dark,
.bootstrap-dark .table-dark > th,
.bootstrap-dark .table-dark > td {
  color: #343a40; }

.bootstrap-dark .table-hover .table-dark:hover {
  color: #343a40; }
  .bootstrap-dark .table-hover .table-dark:hover > td,
  .bootstrap-dark .table-hover .table-dark:hover > th {
    color: #343a40; }

.bootstrap-dark .table-active,
.bootstrap-dark .table-active > th,
.bootstrap-dark .table-active > td {
  color: #e9ecef; }

.bootstrap-dark .table-hover .table-active:hover {
  color: #e9ecef; }
  .bootstrap-dark .table-hover .table-active:hover > td,
  .bootstrap-dark .table-hover .table-active:hover > th {
    color: #e9ecef; }

.bootstrap-dark .table-dark {
  color: #dee2e6; }

.bootstrap-dark .form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #dee2e6;
  background-color: #000;
  background-clip: padding-box;
  border: 1px solid #6c757d;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap-dark .form-control {
      transition: none; } }
  .bootstrap-dark .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .bootstrap-dark .form-control:focus {
    color: #dee2e6;
    background-color: #191d21;
    border-color: #b3d7ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap-dark .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control:disabled, .bootstrap-dark .form-control[readonly] {
    background-color: #343a40;
    opacity: 1; }

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

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

.bootstrap-dark select.form-control:focus::-ms-value {
  color: #dee2e6;
  background-color: #000; }

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

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

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

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

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

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

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

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

.bootstrap-dark textarea.form-control {
  height: auto; }

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

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

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

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

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

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

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

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

.bootstrap-dark .valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #e9ecef;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .valid-tooltip {
    left: 5px; }

.bootstrap-dark .is-valid ~ .valid-feedback,
.bootstrap-dark .is-valid ~ .valid-tooltip {
  display: block; }

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

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

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

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

.bootstrap-dark .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

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

.bootstrap-dark .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .bootstrap-dark .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

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

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

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

.bootstrap-dark .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

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

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

.bootstrap-dark .invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #e9ecef;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .invalid-tooltip {
    left: 5px; }

.bootstrap-dark .is-invalid ~ .invalid-feedback,
.bootstrap-dark .is-invalid ~ .invalid-tooltip {
  display: block; }

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

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

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

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

.bootstrap-dark .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

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

.bootstrap-dark .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .bootstrap-dark .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

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

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

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

.bootstrap-dark .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

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

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

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

.bootstrap-dark .was-validated .valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #e9ecef;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .was-validated .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .was-validated .valid-tooltip {
    left: 5px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .was-validated .invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #e9ecef;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .was-validated .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .was-validated .invalid-tooltip {
    left: 5px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .btn-primary {
  color: #e9ecef;
  background-color: #3395ff;
  border-color: #3395ff; }
  .bootstrap-dark .btn-primary:hover {
    color: #e9ecef;
    background-color: #0d82ff;
    border-color: #007bff; }
  .bootstrap-dark .btn-primary:focus, .bootstrap-dark .btn-primary.focus {
    color: #e9ecef;
    background-color: #0d82ff;
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(78, 162, 253, 0.5); }
  .bootstrap-dark .btn-primary.disabled, .bootstrap-dark .btn-primary:disabled {
    color: #e9ecef;
    background-color: #3395ff;
    border-color: #3395ff; }
  .bootstrap-dark .btn-primary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-primary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-primary.dropdown-toggle {
    color: #e9ecef;
    background-color: #007bff;
    border-color: #0075f2; }
    .bootstrap-dark .btn-primary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(78, 162, 253, 0.5); }

.bootstrap-dark .btn-secondary {
  color: #e9ecef;
  background-color: #6c757d;
  border-color: #6c757d; }
  .bootstrap-dark .btn-secondary:hover {
    color: #e9ecef;
    background-color: #5a6268;
    border-color: #545b62; }
  .bootstrap-dark .btn-secondary:focus, .bootstrap-dark .btn-secondary.focus {
    color: #e9ecef;
    background-color: #5a6268;
    border-color: #545b62;
    box-shadow: 0 0 0 0.2rem rgba(127, 135, 142, 0.5); }
  .bootstrap-dark .btn-secondary.disabled, .bootstrap-dark .btn-secondary:disabled {
    color: #e9ecef;
    background-color: #6c757d;
    border-color: #6c757d; }
  .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-secondary.dropdown-toggle {
    color: #e9ecef;
    background-color: #545b62;
    border-color: #4e555b; }
    .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(127, 135, 142, 0.5); }

.bootstrap-dark .btn-success {
  color: #e9ecef;
  background-color: #28a745;
  border-color: #28a745; }
  .bootstrap-dark .btn-success:hover {
    color: #e9ecef;
    background-color: #218838;
    border-color: #1e7e34; }
  .bootstrap-dark .btn-success:focus, .bootstrap-dark .btn-success.focus {
    color: #e9ecef;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(69, 177, 95, 0.5); }
  .bootstrap-dark .btn-success.disabled, .bootstrap-dark .btn-success:disabled {
    color: #e9ecef;
    background-color: #28a745;
    border-color: #28a745; }
  .bootstrap-dark .btn-success:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-success:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-success.dropdown-toggle {
    color: #e9ecef;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .bootstrap-dark .btn-success:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(69, 177, 95, 0.5); }

.bootstrap-dark .btn-info {
  color: #e9ecef;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .bootstrap-dark .btn-info:hover {
    color: #e9ecef;
    background-color: #138496;
    border-color: #117a8b; }
  .bootstrap-dark .btn-info:focus, .bootstrap-dark .btn-info.focus {
    color: #e9ecef;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(55, 173, 192, 0.5); }
  .bootstrap-dark .btn-info.disabled, .bootstrap-dark .btn-info:disabled {
    color: #e9ecef;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .bootstrap-dark .btn-info:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-info:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-info.dropdown-toggle {
    color: #e9ecef;
    background-color: #117a8b;
    border-color: #10707f; }
    .bootstrap-dark .btn-info:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(55, 173, 192, 0.5); }

.bootstrap-dark .btn-warning {
  color: #343a40;
  background-color: #fd7e14;
  border-color: #fd7e14; }
  .bootstrap-dark .btn-warning:hover {
    color: #e9ecef;
    background-color: #e96b02;
    border-color: #dc6502; }
  .bootstrap-dark .btn-warning:focus, .bootstrap-dark .btn-warning.focus {
    color: #e9ecef;
    background-color: #e96b02;
    border-color: #dc6502;
    box-shadow: 0 0 0 0.2rem rgba(223, 116, 27, 0.5); }
  .bootstrap-dark .btn-warning.disabled, .bootstrap-dark .btn-warning:disabled {
    color: #343a40;
    background-color: #fd7e14;
    border-color: #fd7e14; }
  .bootstrap-dark .btn-warning:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-warning:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-warning.dropdown-toggle {
    color: #e9ecef;
    background-color: #dc6502;
    border-color: #cf5f02; }
    .bootstrap-dark .btn-warning:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(223, 116, 27, 0.5); }

.bootstrap-dark .btn-danger {
  color: #e9ecef;
  background-color: #dc3545;
  border-color: #dc3545; }
  .bootstrap-dark .btn-danger:hover {
    color: #e9ecef;
    background-color: #c82333;
    border-color: #bd2130; }
  .bootstrap-dark .btn-danger:focus, .bootstrap-dark .btn-danger.focus {
    color: #e9ecef;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(222, 80, 95, 0.5); }
  .bootstrap-dark .btn-danger.disabled, .bootstrap-dark .btn-danger:disabled {
    color: #e9ecef;
    background-color: #dc3545;
    border-color: #dc3545; }
  .bootstrap-dark .btn-danger:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-danger:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-danger.dropdown-toggle {
    color: #e9ecef;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .bootstrap-dark .btn-danger:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 80, 95, 0.5); }

.bootstrap-dark .btn-light {
  color: #343a40;
  background-color: #dee2e6;
  border-color: #dee2e6; }
  .bootstrap-dark .btn-light:hover {
    color: #343a40;
    background-color: #c8cfd6;
    border-color: #c1c9d0; }
  .bootstrap-dark .btn-light:focus, .bootstrap-dark .btn-light.focus {
    color: #343a40;
    background-color: #c8cfd6;
    border-color: #c1c9d0;
    box-shadow: 0 0 0 0.2rem rgba(197, 201, 205, 0.5); }
  .bootstrap-dark .btn-light.disabled, .bootstrap-dark .btn-light:disabled {
    color: #343a40;
    background-color: #dee2e6;
    border-color: #dee2e6; }
  .bootstrap-dark .btn-light:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-light:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-light.dropdown-toggle {
    color: #343a40;
    background-color: #c1c9d0;
    border-color: #bac2cb; }
    .bootstrap-dark .btn-light:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(197, 201, 205, 0.5); }

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

.bootstrap-dark .btn-outline-primary {
  color: #3395ff;
  border-color: #3395ff; }
  .bootstrap-dark .btn-outline-primary:hover {
    color: #e9ecef;
    background-color: #3395ff;
    border-color: #3395ff; }
  .bootstrap-dark .btn-outline-primary:focus, .bootstrap-dark .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(51, 149, 255, 0.5); }
  .bootstrap-dark .btn-outline-primary.disabled, .bootstrap-dark .btn-outline-primary:disabled {
    color: #3395ff;
    background-color: transparent; }
  .bootstrap-dark .btn-outline-primary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-outline-primary.dropdown-toggle {
    color: #e9ecef;
    background-color: #3395ff;
    border-color: #3395ff; }
    .bootstrap-dark .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-outline-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(51, 149, 255, 0.5); }

.bootstrap-dark .btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .bootstrap-dark .btn-outline-secondary:hover {
    color: #e9ecef;
    background-color: #6c757d;
    border-color: #6c757d; }
  .bootstrap-dark .btn-outline-secondary:focus, .bootstrap-dark .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .bootstrap-dark .btn-outline-secondary.disabled, .bootstrap-dark .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .bootstrap-dark .btn-outline-secondary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-outline-secondary.dropdown-toggle {
    color: #e9ecef;
    background-color: #6c757d;
    border-color: #6c757d; }
    .bootstrap-dark .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-outline-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

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

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

.bootstrap-dark .btn-outline-warning {
  color: #fd7e14;
  border-color: #fd7e14; }
  .bootstrap-dark .btn-outline-warning:hover {
    color: #343a40;
    background-color: #fd7e14;
    border-color: #fd7e14; }
  .bootstrap-dark .btn-outline-warning:focus, .bootstrap-dark .btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(253, 126, 20, 0.5); }
  .bootstrap-dark .btn-outline-warning.disabled, .bootstrap-dark .btn-outline-warning:disabled {
    color: #fd7e14;
    background-color: transparent; }
  .bootstrap-dark .btn-outline-warning:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-outline-warning.dropdown-toggle {
    color: #343a40;
    background-color: #fd7e14;
    border-color: #fd7e14; }
    .bootstrap-dark .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-outline-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(253, 126, 20, 0.5); }

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

.bootstrap-dark .btn-outline-light {
  color: #dee2e6;
  border-color: #dee2e6; }
  .bootstrap-dark .btn-outline-light:hover {
    color: #343a40;
    background-color: #dee2e6;
    border-color: #dee2e6; }
  .bootstrap-dark .btn-outline-light:focus, .bootstrap-dark .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(222, 226, 230, 0.5); }
  .bootstrap-dark .btn-outline-light.disabled, .bootstrap-dark .btn-outline-light:disabled {
    color: #dee2e6;
    background-color: transparent; }
  .bootstrap-dark .btn-outline-light:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-outline-light.dropdown-toggle {
    color: #343a40;
    background-color: #dee2e6;
    border-color: #dee2e6; }
    .bootstrap-dark .btn-outline-light:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-outline-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 226, 230, 0.5); }

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

.bootstrap-dark .btn-link {
  font-weight: 400;
  color: #adadad;
  text-decoration: none; }
  .bootstrap-dark .btn-link:hover {
    color: #878787;
    text-decoration: underline; }
  .bootstrap-dark .btn-link:focus, .bootstrap-dark .btn-link.focus {
    text-decoration: underline; }
  .bootstrap-dark .btn-link:disabled, .bootstrap-dark .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

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

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

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

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

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

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

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

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

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

.bootstrap-dark .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: #d3d3d3;
  text-align: left;
  list-style: none;
  background-color: #000;
  background-clip: padding-box;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #f8f9fa;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .bootstrap-dark .dropdown-item:hover, .bootstrap-dark .dropdown-item:focus {
    color: white;
    text-decoration: none;
    background-color: #212529; }
  .bootstrap-dark .dropdown-item.active, .bootstrap-dark .dropdown-item:active {
    color: #000;
    text-decoration: none;
    background-color: #3395ff; }
  .bootstrap-dark .dropdown-item.disabled, .bootstrap-dark .dropdown-item:disabled {
    color: #ced4da;
    pointer-events: none;
    background-color: transparent; }

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  .bootstrap-dark .btn-group-vertical > .btn,
  .bootstrap-dark .btn-group-vertical > .btn-group {
    width: 100%; }
  .bootstrap-dark .btn-group-vertical > .btn:not(:first-child),
  .bootstrap-dark .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; }
  .bootstrap-dark .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .bootstrap-dark .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap-dark .btn-group-vertical > .btn:not(:first-child),
  .bootstrap-dark .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

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

.bootstrap-dark .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .bootstrap-dark .input-group > .form-control,
  .bootstrap-dark .input-group > .form-control-plaintext,
  .bootstrap-dark .input-group > .custom-select,
  .bootstrap-dark .input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0; }
    .bootstrap-dark .input-group > .form-control + .form-control,
    .bootstrap-dark .input-group > .form-control + .custom-select,
    .bootstrap-dark .input-group > .form-control + .custom-file,
    .bootstrap-dark .input-group > .form-control-plaintext + .form-control,
    .bootstrap-dark .input-group > .form-control-plaintext + .custom-select,
    .bootstrap-dark .input-group > .form-control-plaintext + .custom-file,
    .bootstrap-dark .input-group > .custom-select + .form-control,
    .bootstrap-dark .input-group > .custom-select + .custom-select,
    .bootstrap-dark .input-group > .custom-select + .custom-file,
    .bootstrap-dark .input-group > .custom-file + .form-control,
    .bootstrap-dark .input-group > .custom-file + .custom-select,
    .bootstrap-dark .input-group > .custom-file + .custom-file {
      margin-left: -1px; }
  .bootstrap-dark .input-group > .form-control:focus,
  .bootstrap-dark .input-group > .custom-select:focus,
  .bootstrap-dark .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .bootstrap-dark .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .bootstrap-dark .input-group > .form-control:not(:first-child),
  .bootstrap-dark .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap-dark .input-group > .custom-file {
    display: flex;
    align-items: center; }
    .bootstrap-dark .input-group > .custom-file:not(:last-child) .custom-file-label,
    .bootstrap-dark .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .bootstrap-dark .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .bootstrap-dark .input-group:not(.has-validation) > .form-control:not(:last-child),
  .bootstrap-dark .input-group:not(.has-validation) > .custom-select:not(:last-child),
  .bootstrap-dark .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
  .bootstrap-dark .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bootstrap-dark .input-group.has-validation > .form-control:nth-last-child(n + 3),
  .bootstrap-dark .input-group.has-validation > .custom-select:nth-last-child(n + 3),
  .bootstrap-dark .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
  .bootstrap-dark .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }

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

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

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

.bootstrap-dark .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #dee2e6;
  text-align: center;
  white-space: nowrap;
  background-color: #343a40;
  border: 1px solid #6c757d;
  border-radius: 0.25rem; }
  .bootstrap-dark .input-group-text input[type="radio"],
  .bootstrap-dark .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

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

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

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

.bootstrap-dark .input-group > .input-group-append > .custom-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.bootstrap-dark .input-group > .input-group-prepend > .custom-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

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

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

.bootstrap-dark .custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0; }
  .bootstrap-dark .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff; }
  .bootstrap-dark .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap-dark .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80bdff; }
  .bootstrap-dark .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff; }
  .bootstrap-dark .custom-control-input[disabled] ~ .custom-control-label, .bootstrap-dark .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .bootstrap-dark .custom-control-input[disabled] ~ .custom-control-label::before, .bootstrap-dark .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .bootstrap-dark .custom-range:focus {
    outline: 0; }
    .bootstrap-dark .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-dark .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-dark .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap-dark .custom-range::-moz-focus-outer {
    border: 0; }
  .bootstrap-dark .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
            appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap-dark .custom-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none; } }
    .bootstrap-dark .custom-range::-webkit-slider-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap-dark .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .bootstrap-dark .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
         appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap-dark .custom-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none; } }
    .bootstrap-dark .custom-range::-moz-range-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap-dark .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .bootstrap-dark .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap-dark .custom-range::-ms-thumb {
        -ms-transition: none;
        transition: none; } }
    .bootstrap-dark .custom-range::-ms-thumb:active {
      background-color: #b3d7ff; }
  .bootstrap-dark .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .bootstrap-dark .custom-range::-ms-fill-lower {
    background-color: #dee2e6;
    border-radius: 1rem; }
  .bootstrap-dark .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem; }
  .bootstrap-dark .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .bootstrap-dark .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .bootstrap-dark .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .bootstrap-dark .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .bootstrap-dark .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

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

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

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

.bootstrap-dark .nav-tabs {
  border-bottom: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .nav-tabs .nav-link {
    margin-bottom: -1px;
    background-color: transparent;
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .bootstrap-dark .nav-tabs .nav-link:hover, .bootstrap-dark .nav-tabs .nav-link:focus {
      isolation: isolate;
      border-color: #495057 #495057 rgba(255, 255, 255, 0.125); }
    .bootstrap-dark .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .bootstrap-dark .nav-tabs .nav-link.active,
  .bootstrap-dark .nav-tabs .nav-item.show .nav-link {
    color: #f8f9fa;
    background-color: #191d21;
    border-color: #495057 #495057 #191d21; }
  .bootstrap-dark .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.bootstrap-dark .nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.25rem; }

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

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

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

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .navbar-brand:hover, .bootstrap-dark .navbar-brand:focus {
    text-decoration: none; }

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .navbar-toggler:hover, .bootstrap-dark .navbar-toggler:focus {
    text-decoration: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .navbar-dark .navbar-nav .nav-link, .bootstrap-dark .navbar-themed .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .bootstrap-dark .navbar-dark .navbar-nav .nav-link:hover, .bootstrap-dark .navbar-themed .navbar-nav .nav-link:hover, .bootstrap-dark .navbar-dark .navbar-nav .nav-link:focus, .bootstrap-dark .navbar-themed .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75); }
  .bootstrap-dark .navbar-dark .navbar-nav .nav-link.disabled, .bootstrap-dark .navbar-themed .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }

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

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

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

.bootstrap-dark .navbar-dark .navbar-text, .bootstrap-dark .navbar-themed .navbar-text {
  color: rgba(255, 255, 255, 0.5); }
  .bootstrap-dark .navbar-dark .navbar-text a, .bootstrap-dark .navbar-themed .navbar-text a {
    color: #fff; }
    .bootstrap-dark .navbar-dark .navbar-text a:hover, .bootstrap-dark .navbar-themed .navbar-text a:hover, .bootstrap-dark .navbar-dark .navbar-text a:focus, .bootstrap-dark .navbar-themed .navbar-text a:focus {
      color: #fff; }

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

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

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

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

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

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

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

.bootstrap-dark .card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }

.bootstrap-dark .card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(255, 255, 255, 0.03);
  border-top: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .accordion {
  overflow-anchor: none; }
  .bootstrap-dark .accordion > .card {
    overflow: hidden; }
    .bootstrap-dark .accordion > .card:not(:last-of-type) {
      border-bottom: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0; }
    .bootstrap-dark .accordion > .card:not(:first-of-type) {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
    .bootstrap-dark .accordion > .card > .card-header {
      border-radius: 0;
      margin-bottom: -1px; }

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

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

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

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

.bootstrap-dark .breadcrumb-item.active {
  color: #ced4da; }

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

.bootstrap-dark .page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #adadad;
  background-color: #000;
  border: 1px solid #495057; }
  .bootstrap-dark .page-link:hover {
    z-index: 2;
    color: #878787;
    text-decoration: none;
    background-color: #343a40;
    border-color: #495057; }
  .bootstrap-dark .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

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

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

.bootstrap-dark .page-item.active .page-link {
  z-index: 3;
  color: #000;
  background-color: #3395ff;
  border-color: #3395ff; }

.bootstrap-dark .page-item.disabled .page-link {
  color: #ced4da;
  pointer-events: none;
  cursor: auto;
  background-color: #000;
  border-color: #495057; }

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

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

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

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

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

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

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

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

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

.bootstrap-dark .badge-primary {
  color: #e9ecef;
  background-color: #3395ff; }
  a.bootstrap-dark .badge-primary:hover, a.bootstrap-dark .badge-primary:focus {
    color: #e9ecef;
    background-color: #007bff; }
  a.bootstrap-dark .badge-primary:focus, a.bootstrap-dark .badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(51, 149, 255, 0.5); }

.bootstrap-dark .badge-secondary {
  color: #e9ecef;
  background-color: #6c757d; }
  a.bootstrap-dark .badge-secondary:hover, a.bootstrap-dark .badge-secondary:focus {
    color: #e9ecef;
    background-color: #545b62; }
  a.bootstrap-dark .badge-secondary:focus, a.bootstrap-dark .badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

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

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

.bootstrap-dark .badge-warning {
  color: #343a40;
  background-color: #fd7e14; }
  a.bootstrap-dark .badge-warning:hover, a.bootstrap-dark .badge-warning:focus {
    color: #343a40;
    background-color: #dc6502; }
  a.bootstrap-dark .badge-warning:focus, a.bootstrap-dark .badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(253, 126, 20, 0.5); }

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

.bootstrap-dark .badge-light {
  color: #343a40;
  background-color: #dee2e6; }
  a.bootstrap-dark .badge-light:hover, a.bootstrap-dark .badge-light:focus {
    color: #343a40;
    background-color: #c1c9d0; }
  a.bootstrap-dark .badge-light:focus, a.bootstrap-dark .badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(222, 226, 230, 0.5); }

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

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

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

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

.bootstrap-dark .alert-heading {
  color: inherit; }

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

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

.bootstrap-dark .alert-primary {
  color: #1b4e85;
  background-color: #d6eaff;
  border-color: #c6e1ff; }
  .bootstrap-dark .alert-primary hr {
    border-top-color: #add4ff; }
  .bootstrap-dark .alert-primary .alert-link {
    color: #12355b; }

.bootstrap-dark .alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db; }
  .bootstrap-dark .alert-secondary hr {
    border-top-color: #c8cbcf; }
  .bootstrap-dark .alert-secondary .alert-link {
    color: #202326; }

.bootstrap-dark .alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb; }
  .bootstrap-dark .alert-success hr {
    border-top-color: #b1dfbb; }
  .bootstrap-dark .alert-success .alert-link {
    color: #0b2e13; }

.bootstrap-dark .alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb; }
  .bootstrap-dark .alert-info hr {
    border-top-color: #abdde5; }
  .bootstrap-dark .alert-info .alert-link {
    color: #062c33; }

.bootstrap-dark .alert-warning {
  color: #84420a;
  background-color: #ffe5d0;
  border-color: #fedbbd; }
  .bootstrap-dark .alert-warning hr {
    border-top-color: #fecda4; }
  .bootstrap-dark .alert-warning .alert-link {
    color: #552a06; }

.bootstrap-dark .alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .bootstrap-dark .alert-danger hr {
    border-top-color: #f1b0b7; }
  .bootstrap-dark .alert-danger .alert-link {
    color: #491217; }

.bootstrap-dark .alert-light, .bootstrap-dark .alert-themed-inverted {
  color: #737678;
  background-color: #f8f9fa;
  border-color: #f6f7f8; }
  .bootstrap-dark .alert-light hr, .bootstrap-dark .alert-themed-inverted hr {
    border-top-color: #e8eaed; }
  .bootstrap-dark .alert-light .alert-link, .bootstrap-dark .alert-themed-inverted .alert-link {
    color: #5a5c5e; }

.bootstrap-dark .alert-dark, .bootstrap-dark .alert-themed {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca; }
  .bootstrap-dark .alert-dark hr, .bootstrap-dark .alert-themed hr {
    border-top-color: #b9bbbe; }
  .bootstrap-dark .alert-dark .alert-link, .bootstrap-dark .alert-themed .alert-link {
    color: #040505; }

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

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

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

.bootstrap-dark .progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap-dark .progress-bar {
      transition: none; } }

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

.bootstrap-dark .progress-bar-animated {
  -webkit-animation: 1s linear infinite progress-bar-stripes;
          animation: 1s linear infinite progress-bar-stripes; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap-dark .progress-bar-animated {
      -webkit-animation: none;
              animation: none; } }

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

.bootstrap-dark .media-body {
  flex: 1; }

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

.bootstrap-dark .list-group-item-action {
  width: 100%;
  color: #dee2e6;
  text-align: inherit; }
  .bootstrap-dark .list-group-item-action:hover, .bootstrap-dark .list-group-item-action:focus {
    z-index: 1;
    color: #dee2e6;
    text-decoration: none;
    background-color: #212529; }
  .bootstrap-dark .list-group-item-action:active {
    color: #d3d3d3;
    background-color: #343a40; }

.bootstrap-dark .list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: rgba(25, 29, 33, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .bootstrap-dark .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .bootstrap-dark .list-group-item.disabled, .bootstrap-dark .list-group-item:disabled {
    color: #ced4da;
    pointer-events: none;
    background-color: rgba(25, 29, 33, 0.05); }
  .bootstrap-dark .list-group-item.active {
    z-index: 2;
    color: #000;
    background-color: #3395ff;
    border-color: #3395ff; }
  .bootstrap-dark .list-group-item + .bootstrap-dark .list-group-item {
    border-top-width: 0; }
    .bootstrap-dark .list-group-item + .bootstrap-dark .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

.bootstrap-dark .list-group-horizontal {
  flex-direction: row; }
  .bootstrap-dark .list-group-horizontal > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0; }
  .bootstrap-dark .list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0; }
  .bootstrap-dark .list-group-horizontal > .list-group-item.active {
    margin-top: 0; }
  .bootstrap-dark .list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0; }
    .bootstrap-dark .list-group-horizontal > .list-group-item + .list-group-item.active {
      margin-left: -1px;
      border-left-width: 1px; }

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

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

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

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

.bootstrap-dark .list-group-flush {
  border-radius: 0; }
  .bootstrap-dark .list-group-flush > .list-group-item {
    border-width: 0 0 1px; }
    .bootstrap-dark .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

.bootstrap-dark .list-group-item-primary {
  color: #1b4e85;
  background-color: #c6e1ff; }
  .bootstrap-dark .list-group-item-primary.list-group-item-action:hover, .bootstrap-dark .list-group-item-primary.list-group-item-action:focus {
    color: #1b4e85;
    background-color: #add4ff; }
  .bootstrap-dark .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #1b4e85;
    border-color: #1b4e85; }

.bootstrap-dark .list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db; }
  .bootstrap-dark .list-group-item-secondary.list-group-item-action:hover, .bootstrap-dark .list-group-item-secondary.list-group-item-action:focus {
    color: #383d41;
    background-color: #c8cbcf; }
  .bootstrap-dark .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #383d41;
    border-color: #383d41; }

.bootstrap-dark .list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .bootstrap-dark .list-group-item-success.list-group-item-action:hover, .bootstrap-dark .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .bootstrap-dark .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

.bootstrap-dark .list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb; }
  .bootstrap-dark .list-group-item-info.list-group-item-action:hover, .bootstrap-dark .list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5; }
  .bootstrap-dark .list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

.bootstrap-dark .list-group-item-warning {
  color: #84420a;
  background-color: #fedbbd; }
  .bootstrap-dark .list-group-item-warning.list-group-item-action:hover, .bootstrap-dark .list-group-item-warning.list-group-item-action:focus {
    color: #84420a;
    background-color: #fecda4; }
  .bootstrap-dark .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #84420a;
    border-color: #84420a; }

.bootstrap-dark .list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb; }
  .bootstrap-dark .list-group-item-danger.list-group-item-action:hover, .bootstrap-dark .list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7; }
  .bootstrap-dark .list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

.bootstrap-dark .list-group-item-light {
  color: #737678;
  background-color: #f6f7f8; }
  .bootstrap-dark .list-group-item-light.list-group-item-action:hover, .bootstrap-dark .list-group-item-light.list-group-item-action:focus {
    color: #737678;
    background-color: #e8eaed; }
  .bootstrap-dark .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #737678;
    border-color: #737678; }

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

.bootstrap-dark .close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 0 #000;
  opacity: .5; }
  .bootstrap-dark .close:hover {
    color: #fff;
    text-decoration: none; }
  .bootstrap-dark .close:not(:disabled):not(.disabled):hover, .bootstrap-dark .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

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

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

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

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

.bootstrap-dark .toast-body {
  padding: 0.75rem; }

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

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

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

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

.bootstrap-dark .modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .bootstrap-dark .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content;
    content: ""; }
  .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

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

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

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

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

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

.bootstrap-dark .modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #343a40;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px); }
  .bootstrap-dark .modal-footer > * {
    margin: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: 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; }
  .bootstrap-dark .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .bootstrap-dark .popover .arrow::before, .bootstrap-dark .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

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

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

.bootstrap-dark .carousel {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .bootstrap-dark .carousel-indicators li {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap-dark .carousel-indicators li {
        transition: none; } }
  .bootstrap-dark .carousel-indicators .active {
    opacity: 1; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .bg-primary {
  background-color: #3395ff !important; }

.bootstrap-dark a.bg-primary:hover, .bootstrap-dark a.bg-primary:focus,
.bootstrap-dark button.bg-primary:hover,
.bootstrap-dark button.bg-primary:focus {
  background-color: #007bff !important; }

.bootstrap-dark .bg-secondary {
  background-color: #6c757d !important; }

.bootstrap-dark a.bg-secondary:hover, .bootstrap-dark a.bg-secondary:focus,
.bootstrap-dark button.bg-secondary:hover,
.bootstrap-dark button.bg-secondary:focus {
  background-color: #545b62 !important; }

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

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

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

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

.bootstrap-dark .bg-warning {
  background-color: #fd7e14 !important; }

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

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

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

.bootstrap-dark .bg-light, .bootstrap-dark .bg-themed-inverted {
  background-color: #dee2e6 !important; }

.bootstrap-dark a.bg-light:hover, .bootstrap-dark a.bg-themed-inverted:hover, .bootstrap-dark a.bg-light:focus, .bootstrap-dark a.bg-themed-inverted:focus,
.bootstrap-dark button.bg-light:hover,
.bootstrap-dark button.bg-themed-inverted:hover,
.bootstrap-dark button.bg-light:focus,
.bootstrap-dark button.bg-themed-inverted:focus {
  background-color: #c1c9d0 !important; }

.bootstrap-dark .bg-dark, .bootstrap-dark .navbar-themed, .bootstrap-dark .bg-themed {
  background-color: #343a40 !important; }

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

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

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

.bootstrap-dark .border {
  border: 1px solid #343a40 !important; }

.bootstrap-dark .border-top {
  border-top: 1px solid #343a40 !important; }

.bootstrap-dark .border-right {
  border-right: 1px solid #343a40 !important; }

.bootstrap-dark .border-bottom {
  border-bottom: 1px solid #343a40 !important; }

.bootstrap-dark .border-left {
  border-left: 1px solid #343a40 !important; }

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

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

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

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

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

.bootstrap-dark .border-primary {
  border-color: #3395ff !important; }

.bootstrap-dark .border-secondary {
  border-color: #6c757d !important; }

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

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

.bootstrap-dark .border-warning {
  border-color: #fd7e14 !important; }

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

.bootstrap-dark .border-light {
  border-color: #dee2e6 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
      -ms-user-select: all !important;
          user-select: all !important; }

.bootstrap-dark .user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important; }

.bootstrap-dark .user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important; }

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

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

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

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

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

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

.bootstrap-dark .position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

.bootstrap-dark .text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }

.bootstrap-dark .text-justify {
  text-align: justify !important; }

.bootstrap-dark .text-wrap {
  white-space: normal !important; }

.bootstrap-dark .text-nowrap {
  white-space: nowrap !important; }

.bootstrap-dark .text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.bootstrap-dark .text-left {
  text-align: left !important; }

.bootstrap-dark .text-right {
  text-align: right !important; }

.bootstrap-dark .text-center {
  text-align: center !important; }

@media (min-width: 576px) {
  .bootstrap-dark .text-sm-left {
    text-align: left !important; }
  .bootstrap-dark .text-sm-right {
    text-align: right !important; }
  .bootstrap-dark .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .bootstrap-dark .text-md-left {
    text-align: left !important; }
  .bootstrap-dark .text-md-right {
    text-align: right !important; }
  .bootstrap-dark .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .bootstrap-dark .text-lg-left {
    text-align: left !important; }
  .bootstrap-dark .text-lg-right {
    text-align: right !important; }
  .bootstrap-dark .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .bootstrap-dark .text-xl-left {
    text-align: left !important; }
  .bootstrap-dark .text-xl-right {
    text-align: right !important; }
  .bootstrap-dark .text-xl-center {
    text-align: center !important; } }

.bootstrap-dark .text-lowercase {
  text-transform: lowercase !important; }

.bootstrap-dark .text-uppercase {
  text-transform: uppercase !important; }

.bootstrap-dark .text-capitalize {
  text-transform: capitalize !important; }

.bootstrap-dark .font-weight-light {
  font-weight: 300 !important; }

.bootstrap-dark .font-weight-lighter {
  font-weight: lighter !important; }

.bootstrap-dark .font-weight-normal {
  font-weight: 400 !important; }

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

.bootstrap-dark .font-weight-bolder {
  font-weight: bolder !important; }

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

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

.bootstrap-dark .text-primary {
  color: #3395ff !important; }

.bootstrap-dark a.text-primary:hover, .bootstrap-dark a.text-primary:focus {
  color: #006fe6 !important; }

.bootstrap-dark .text-secondary {
  color: #6c757d !important; }

.bootstrap-dark a.text-secondary:hover, .bootstrap-dark a.text-secondary:focus {
  color: #494f54 !important; }

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

.bootstrap-dark a.text-success:hover, .bootstrap-dark a.text-success:focus {
  color: #19692c !important; }

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

.bootstrap-dark a.text-info:hover, .bootstrap-dark a.text-info:focus {
  color: #0f6674 !important; }

.bootstrap-dark .text-warning {
  color: #fd7e14 !important; }

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

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

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

.bootstrap-dark .text-light, .bootstrap-dark .text-themed {
  color: #dee2e6 !important; }

.bootstrap-dark a.text-light:hover, .bootstrap-dark a.text-themed:hover, .bootstrap-dark a.text-light:focus, .bootstrap-dark a.text-themed:focus {
  color: #b2bcc5 !important; }

.bootstrap-dark .text-dark, .bootstrap-dark .text-themed-inverted {
  color: #343a40 !important; }

.bootstrap-dark a.text-dark:hover, .bootstrap-dark a.text-themed-inverted:hover, .bootstrap-dark a.text-dark:focus, .bootstrap-dark a.text-themed-inverted:focus {
  color: #121416 !important; }

.bootstrap-dark .text-body {
  color: #d3d3d3 !important; }

.bootstrap-dark .text-muted {
  color: #6c757d !important; }

.bootstrap-dark .text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.bootstrap-dark .text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

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

.bootstrap-dark .text-decoration-none {
  text-decoration: none !important; }

.bootstrap-dark .text-break {
  word-break: break-word !important;
  word-wrap: break-word !important; }

.bootstrap-dark .text-reset {
  color: inherit !important; }

.bootstrap-dark .visible {
  visibility: visible !important; }

.bootstrap-dark .invisible {
  visibility: hidden !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsZS1ib290c3RyYXAtZGFyay5zY3NzIiwiX2RhcmstdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJtaXhpbnMvX2RhcmstdGFibGUtcm93LnNjc3MiLCJfZGFyay10YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIl9mb3JtLW92ZXJyaWRlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJfZGFyay1pbnB1dC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDSSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLDhCQUE4QjtFQUM5Qiw2Q0NBVyxFQUFBOztBREdmO0VBQ0ksU0FBUztFQUNULHFORW1Ra087RUNqR2hPLGVBQVc7RUhoS2IsZ0JFNFE2QjtFRjNRN0IsZ0JFZ1I2QjtFRi9RN0IsY0NxRGlCO0VEcERqQixnQkFBZ0I7RUFDaEIseUJDa0RpQixFQUFBOztBRC9DckI7RUl4QkksZUFBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxlQUFjO0VBQWQsY0FBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUlkLGtCQUFj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Sk0saUJBQVc7RUdqSmYsZ0JKdVIrQjtFSXRSL0IsZ0JKNlErQixFQUFBOztBRnRSakM7RUd5Sk0saUJBQVc7RUc1SWYsZ0JKbVIrQjtFSWxSL0IsZ0JKd1ErQixFQUFBOztBRnRSakM7RUd5Sk0saUJBQVc7RUd2SWYsZ0JKK1ErQjtFSTlRL0IsZ0JKbVErQixFQUFBOztBRnRSakM7RU00QkUsZ0JKZ0ZXO0VJL0VYLG1CSitFVztFSTlFWCxTQUFTO0VBQ1QsOENMdkRhLEVBQUE7O0FEd0JmOztFR3lJSSxrQkFBVztFRy9GYixnQkoyTitCLEVBQUE7O0FGclFqQzs7RU0rQ0UsY0ptUWdDO0VJbFFoQyx5QkoyUW1DLEVBQUE7O0FGM1RyQztFT3ZCRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FQc0JsQjtFT3ZCRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FQc0JsQjtFTWlFRSxxQkFBcUIsRUFBQTtFTmpFdkI7SU1vRUksb0JKcVArQixFQUFBOztBRnpUbkM7RUd5SUksY0FBVztFR3pEYix5QkFBeUIsRUFBQTs7QU5oRjNCO0VNcUZFLG1CSnVCVztFQzZDUCxrQkFBVyxFQUFBOztBSHpKakI7RU0wRkUsY0FBYztFSCtDWixrQkFBVztFRzdDYixjSjFHZ0IsRUFBQTtFRmNsQjtJTStGSSxxQkFBcUIsRUFBQTs7QU4vRnpCO0VRaEJFLGVBQWU7RUFHZixZQUFZLEVBQUE7O0FSYWQ7RVNiRSxnQlBxZ0N3QztFT3BnQ3hDLHNCUFJhO0VPU2IseUJQTmdCO0VRUWQsc0JSNk5nQztFTXBPbEMsZUFBZTtFQUdmLFlBQVksRUFBQTs7QVJhZDtFU0dFLHFCQUFxQixFQUFBOztBVEh2QjtFU09FLHFCQUEyQjtFQUMzQixjQUFjLEVBQUE7O0FUUmhCO0VHeUlJLGNBQVc7RU01SGIsY1AzQmdCLEVBQUE7O0FGY2xCO0VHeUlJLGdCQUFXO0VRaktiLGNUbUNlO0VTbENmLHFCQUFxQixFQUFBO0VBR3JCO0lBQ0UsY0FBYyxFQUFBOztBWG1CbEI7RVdiRSxzQlQwbEN1QztFQ3A4QnJDLGdCQUFXO0VRcEpiLFdUVGE7RVNVYix5QlREZ0I7RVFFZCxxQlIrTitCLEVBQUE7RUZ0Tm5DO0lXTEksVUFBVTtJUjhJVixlQUFXO0lRNUlYLGdCVHlRNkIsRUFBQTs7QUZ0UWpDO0VXSUUsY0FBYztFUnFJWixnQkFBVztFUW5JYixjVGpCZ0IsRUFBQTtFRldsQjtJR3lJSSxrQkFBVztJUTlIWCxjQUFjO0lBQ2Qsa0JBQWtCLEVBQUE7O0FYWnRCO0VXa0JFLGlCVGlrQ3VDO0VTaGtDdkMsa0JBQWtCLEVBQUE7O0FYbkJwQjs7Ozs7O0VZdEJFLFdBQVc7RUFDWCxtQkFBMkI7RUFDM0Isa0JBQTBCO0VBQzFCLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTs7QUNtRGY7RWJqQ0o7SWNQUSxnQlorTEcsRUFBQSxFWTlMSjs7QUR1Q0g7RWJqQ0o7SWNQUSxnQlpnTUcsRUFBQSxFWS9MSjs7QUR1Q0g7RWJqQ0o7SWNQUSxnQlppTUcsRUFBQSxFWWhNSjs7QUR1Q0g7RWJqQ0o7SWNQUSxpQlprTUksRUFBQSxFWWpNTDs7QWRNUDtFWWRFLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQTJCO0VBQzNCLGtCQUEwQixFQUFBOztBWlc1QjtFYzRCSSxlQUFlO0VBQ2YsY0FBYyxFQUFBO0VkN0JsQjs7SWNpQ00sZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTs7QWRsQ3JCOzs7Ozs7RWVuQkksa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxtQkFBMkI7RUFDM0Isa0JBQTBCLEVBQUE7O0FmZ0I5QjtFZU9RLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZSxFQUFBOztBZlR2QjtFWXNDSSxjVHVCcUQ7RVN0QnJELGVUc0JxRCxFQUFBOztBSDdEekQ7RVlzQ0ksYVR1QnFEO0VTdEJyRCxjVHNCcUQsRUFBQTs7QUg3RHpEO0VZc0NJLG1CVHVCcUQ7RVN0QnJELG9CVHNCcUQsRUFBQTs7QUg3RHpEO0VZc0NJLGFUdUJxRDtFU3RCckQsY1RzQnFELEVBQUE7O0FIN0R6RDtFWXNDSSxhVHVCcUQ7RVN0QnJELGNUc0JxRCxFQUFBOztBSDdEekQ7RVlzQ0ksbUJUdUJxRDtFU3RCckQsb0JUc0JxRCxFQUFBOztBSDdEekQ7RVlxQkUsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlLEVBQUE7O0FadkJqQjtFWWFFLGtCQUE2QztFQUk3QyxtQkFBOEMsRUFBQTs7QVpqQmhEO0VZYUUsbUJBQTZDO0VBSTdDLG9CQUE4QyxFQUFBOztBWmpCaEQ7RVlhRSxhQUE2QztFQUk3QyxjQUE4QyxFQUFBOztBWmpCaEQ7RVlhRSxtQkFBNkM7RUFJN0Msb0JBQThDLEVBQUE7O0FaakJoRDtFWWFFLG1CQUE2QztFQUk3QyxvQkFBOEMsRUFBQTs7QVpqQmhEO0VZYUUsYUFBNkM7RUFJN0MsY0FBOEMsRUFBQTs7QVpqQmhEO0VZYUUsbUJBQTZDO0VBSTdDLG9CQUE4QyxFQUFBOztBWmpCaEQ7RVlhRSxtQkFBNkM7RUFJN0Msb0JBQThDLEVBQUE7O0FaakJoRDtFWWFFLGFBQTZDO0VBSTdDLGNBQThDLEVBQUE7O0FaakJoRDtFWWFFLG1CQUE2QztFQUk3QyxvQkFBOEMsRUFBQTs7QVpqQmhEO0VZYUUsbUJBQTZDO0VBSTdDLG9CQUE4QyxFQUFBOztBWmpCaEQ7RVlhRSxjQUE2QztFQUk3QyxlQUE4QyxFQUFBOztBWmpCaEQ7RWVnQzhCLFNBQVMsRUFBQTs7QWZoQ3ZDO0Vla0M2QixTYm1LRyxFQUFBOztBRnJNaEM7RWVxQ2dDLFFBRFosRUFBQTs7QWZwQ3BCO0VlcUNnQyxRQURaLEVBQUE7O0FmcENwQjtFZXFDZ0MsUUFEWixFQUFBOztBZnBDcEI7RWVxQ2dDLFFBRFosRUFBQTs7QWZwQ3BCO0VlcUNnQyxRQURaLEVBQUE7O0FmcENwQjtFZXFDZ0MsUUFEWixFQUFBOztBZnBDcEI7RWVxQ2dDLFFBRFosRUFBQTs7QWZwQ3BCO0VlcUNnQyxRQURaLEVBQUE7O0FmcENwQjtFZXFDZ0MsUUFEWixFQUFBOztBZnBDcEI7RWVxQ2dDLFFBRFosRUFBQTs7QWZwQ3BCO0VlcUNnQyxTQURaLEVBQUE7O0FmcENwQjtFZXFDZ0MsU0FEWixFQUFBOztBZnBDcEI7RWVxQ2dDLFNBRFosRUFBQTs7QWZwQ3BCO0VZNEJFLHFCQUE4QyxFQUFBOztBWjVCaEQ7RVk0QkUsc0JBQThDLEVBQUE7O0FaNUJoRDtFWTRCRSxnQkFBOEMsRUFBQTs7QVo1QmhEO0VZNEJFLHNCQUE4QyxFQUFBOztBWjVCaEQ7RVk0QkUsc0JBQThDLEVBQUE7O0FaNUJoRDtFWTRCRSxnQkFBOEMsRUFBQTs7QVo1QmhEO0VZNEJFLHNCQUE4QyxFQUFBOztBWjVCaEQ7RVk0QkUsc0JBQThDLEVBQUE7O0FaNUJoRDtFWTRCRSxnQkFBOEMsRUFBQTs7QVo1QmhEO0VZNEJFLHNCQUE4QyxFQUFBOztBWjVCaEQ7RVk0QkUsc0JBQThDLEVBQUE7O0FDSzVDO0ViakNKO0llT1EsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlLEVBQUE7RWZUdkI7SVlzQ0ksY1R1QnFEO0lTdEJyRCxlVHNCcUQsRUFBQTtFSDdEekQ7SVlzQ0ksYVR1QnFEO0lTdEJyRCxjVHNCcUQsRUFBQTtFSDdEekQ7SVlzQ0ksbUJUdUJxRDtJU3RCckQsb0JUc0JxRCxFQUFBO0VIN0R6RDtJWXNDSSxhVHVCcUQ7SVN0QnJELGNUc0JxRCxFQUFBO0VIN0R6RDtJWXNDSSxhVHVCcUQ7SVN0QnJELGNUc0JxRCxFQUFBO0VIN0R6RDtJWXNDSSxtQlR1QnFEO0lTdEJyRCxvQlRzQnFELEVBQUE7RUg3RHpEO0lZcUJFLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZSxFQUFBO0VadkJqQjtJWWFFLGtCQUE2QztJQUk3QyxtQkFBOEMsRUFBQTtFWmpCaEQ7SVlhRSxtQkFBNkM7SUFJN0Msb0JBQThDLEVBQUE7RVpqQmhEO0lZYUUsYUFBNkM7SUFJN0MsY0FBOEMsRUFBQTtFWmpCaEQ7SVlhRSxtQkFBNkM7SUFJN0Msb0JBQThDLEVBQUE7RVpqQmhEO0lZYUUsbUJBQTZDO0lBSTdDLG9CQUE4QyxFQUFBO0VaakJoRDtJWWFFLGFBQTZDO0lBSTdDLGNBQThDLEVBQUE7RVpqQmhEO0lZYUUsbUJBQTZDO0lBSTdDLG9CQUE4QyxFQUFBO0VaakJoRDtJWWFFLG1CQUE2QztJQUk3QyxvQkFBOEMsRUFBQTtFWmpCaEQ7SVlhRSxh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QTtFZnBDcEI7SWVxQ2dDLFFBRFosRUFBQTtFZnBDcEI7SWVxQ2dDLFFBRFosRUFBQTtFZnBDcEI7SWVxQ2dDLFNBRFosRUFBQTtFZnBDcEI7SWVxQ2dDLFNBRFosRUFBQTtFZnBDcEI7SWVxQ2dDLFNBRFosRUFBQTtFZnBDcEI7SVk0QkUsY0FBNEIsRUFBQTtFWjVCOUI7SVk0QkUscUJBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxnQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsc0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxnQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsc0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxnQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsc0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBLEVHa0JuQzs7QUZiVDtFYmpDSjtJZU9RLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZSxFQUFBO0VmVHZCO0lZc0NJLGNUdUJxRDtJU3RCckQsZVRzQnFELEVBQUE7RUg3RHpEO0lZc0NJLGFUdUJxRDtJU3RCckQsY1RzQnFELEVBQUE7RUg3RHpEO0lZc0NJLG1CVHVCcUQ7SVN0QnJELG9CVHNCcUQsRUFBQTtFSDdEekQ7SVlzQ0ksYVR1QnFEO0lTdEJyRCxjVHNCcUQsRUFBQTtFSDdEekQ7SVlzQ0ksYVR1QnFEO0lTdEJyRCxjVHNCcUQsRUFBQTtFSDdEekQ7SVlzQ0ksbUJUdUJxRDtJU3RCckQsb0JUc0JxRCxFQUFBO0VIN0R6RDtJWXFCRSxjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWUsRUFBQTtFWnZCakI7SVlhRSxrQkFBNkM7SUFJN0MsbUJBQThDLEVBQUE7RVpqQmhEO0lZYUUsbUJBQTZDO0lBSTdDLG9CQUE4QyxFQUFBO0VaakJoRDtJWWFFLGFBQTZDO0lBSTdDLGNBQThDLEVBQUE7RVpqQmhEO0lZYUUsbUJBQTZDO0lBSTdDLG9CQUE4QyxFQUFB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O0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0lZNEJFLGNBQTRCLEVBQUE7RVo1QjlCO0lZNEJFLHFCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQSxFR2tCbkM7O0FmOUNiO0VnQnRCRSxXQUFXO0VBQ1gsbUJkaUlXO0VjaElYLGNmb0VtQixFQUFBO0VEaERyQjs7SWdCZkksZ0JkbVZnQztJY2xWaEMsbUJBQW1CO0lBQ25CLDZCZkhjLEVBQUE7RURnQmxCO0lnQlRJLHNCQUFzQjtJQUN0QixnQ2ZSYyxFQUFBO0VEZ0JsQjtJZ0JKSSw2QmZaYyxFQUFBOztBRGdCbEI7O0VnQlFJLGVkNlQrQixFQUFBOztBRnJVbkM7RWdCa0JFLHlCZmxDZ0IsRUFBQTtFRGdCbEI7O0lnQnNCSSx5QmZ0Q2MsRUFBQTtFRGdCbEI7O0lnQjRCTSx3QkFBNEMsRUFBQTs7QWhCNUJsRDs7OztFZ0JzQ0ksU0FBUyxFQUFBOztBaEJ0Q2I7RWdCZ0RJLHFDZDFEVyxFQUFBOztBRlVmO0VnQjRETSxjZlplO0VlYWYsc0NkdkVTLEVBQUE7O0FGVWY7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0seUJDZ0c0RCxFQUFBOztBbEI5RWxFOzs7O0VpQlZRLHFCQ3dGMEQsRUFBQTs7QWxCOUVsRTtFaUJFUSx5QkFKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHlCQVJvQyxFQUFBOztBakJFOUM7OztFaUJsQk0sc0NmUVMsRUFBQTs7QUZVZjtFaUJFUSxzQ0FKc0MsRUFBQTtFakJFOUM7O0lpQk1VLHNDQVJvQyxFQUFBOztBakJFOUM7RWdCdUZNLGNmNUdZO0VlNkdaLHlCZHBHWTtFY3FHWixxQmRpUXFELEVBQUE7O0FGMVYzRDtFZ0IrRk0sY2Q1R1k7RWM2R1oseUJkbEhZO0VjbUhaLHFCZmpIWSxFQUFBOztBRGdCbEI7RWdCdUdFLGNmNUhnQjtFZTZIaEIseUJkcEhnQixFQUFBO0VGWWxCOzs7SWdCNkdJLHFCZDZPdUQsRUFBQTtFRjFWM0Q7SWdCaUhJLFNBQVMsRUFBQTtFaEJqSGI7SWdCc0hNLDJDZDFJUyxFQUFBO0VGb0JmO0lnQjZIUSxXZGpKTztJY2tKUCw0Q2RsSk8sRUFBQTs7QVdrRVg7RWI5Q0o7SWdCaUpRLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQyxFQUFBO0loQnBKekM7TWdCd0pVLFNBQVMsRUFBQSxFQUNWOztBSDNHTDtFYjlDSjtJZ0JpSlEsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDLEVBQUE7SWhCcEp6QztNZ0J3SlUsU0FBUyxFQUFBLEVBQ1Y7O0FIM0dMO0ViOUNKO0lnQmlKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJaEJwSnpDO01nQndKVSxTQUFTLEVBQUEsRUFDVjs7QUgzR0w7RWI5Q0o7SWdCaUpRLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQyxFQUFBO0loQnBKekM7TWdCd0pVLFNBQVMsRUFBQSxFQUNWOztBaEJ6SlQ7RWdCaUpRLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlDQUFpQyxFQUFBO0VoQnBKekM7SWdCd0pVLFNBQVMsRUFBQTs7QWhCeEpuQjs7O0VtQmxCWSxjbEJFTSxFQUFBOztBRGdCbEI7RW1CUGdCLGNsQlRFLEVBQUE7RURnQmxCOztJbUJIb0IsY2xCYkYsRUFBQTs7QURnQmxCOzs7RW1CbEJZLGNsQkVNLEVBQUE7O0FEZ0JsQjtFbUJQZ0IsY2xCVEUsRUFBQTtFRGdCbEI7O0ltQkhvQixjbEJiRixFQUFBOztBRGdCbEI7OztFbUJsQlksY2xCRU0sRUFBQTs7QURnQmxCO0VtQlBnQixjbEJURSxFQUFBO0VEZ0JsQjs7SW1CSG9CLGNsQmJGLEVBQUE7O0FEZ0JsQjs7O0VtQmxCWSxjbEJFTSxFQUFBOztBRGdCbEI7RW1CUGdCLGNsQlRFLEVBQUE7RURnQmxCOztJbUJIb0IsY2xCYkYsRUFBQTs7QURnQmxCOzs7RW1CbEJZLGNsQkVNLEVBQUE7O0FEZ0JsQjtFbUJQZ0IsY2xCVEUsRUFBQTtFRGdCbEI7O0ltQkhvQixjbEJiRixFQUFBOztBRGdCbEI7OztFbUJsQlksY2xCRU0sRUFBQTs7QURnQmxCO0VtQlBnQixjbEJURSxFQUFBO0VEZ0JsQjs7SW1CSG9CLGNsQmJGLEVBQUE7O0FEZ0JsQjs7O0VtQmxCWSxjbEJFTSxFQUFBOztBRGdCbEI7RW1CUGdCLGNsQlRFLEVBQUE7RURnQmxCOztJbUJIb0IsY2xCYkYsRUFBQTs7QURnQmxCOzs7RW1CbEJZLGNsQkVNLEVBQUE7O0FEZ0JsQjtFbUJQZ0IsY2xCVEUsRUFBQTtFRGdCbEI7O0ltQkhvQixjbEJiRixFQUFBOztBRGdCbEI7OztFbUJsQlksY2xCSk0sRUFBQTs7QURzQmxCO0VtQlBnQixjbEJmRSxFQUFBO0VEc0JsQjs7SW1CSG9CLGNsQm5CRixFQUFBOztBRHNCbEI7RW9CZkksY25CTmMsRUFBQTs7QURxQmxCO0VxQnBCRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG1DSGlIOEQ7RUdoSDlELHlCbkIwWGtDO0VDaE45QixlQUFXO0VrQnZLZixnQm5CbVIrQjtFbUJsUi9CLGdCbkJ1UitCO0VtQnRSL0IsY3BCVGdCO0VvQlVoQixzQnBCSGE7RW9CSWIsNEJBQTRCO0VBQzVCLHlCcEJUZ0I7RVNTZCxzQlI2TmdDO0VvQi9OOUIsd0VwQndlNEYsRUFBQTtFb0JwZTVGO0l0Qk9OO01zQk5RLGdCQUFnQixFQUFBLEVEZ0N2QjtFckIxQkQ7SXFCQ0ksNkJBQTZCO0lBQzdCLFNBQVMsRUFBQTtFckJGYjtJdUJiSSxjdEJSYztJc0JTZCx5QnRCMkRpQjtJc0IxRGpCLHFCdEJxSHNFO0lzQnBIdEUsVUFBVTtJQUtSLGdEckJhVyxFQUFBO0VGUmpCO0lxQlVJLGNuQnhCYztJbUIwQmQsVUFBVSxFQUFBO0VyQlpkO0lxQlVJLGNuQnhCYztJbUIwQmQsVUFBVSxFQUFBO0VyQlpkO0lxQlVJLGNuQnhCYztJbUIwQmQsVUFBVSxFQUFBO0VyQlpkO0lxQlVJLGNuQnhCYztJbUIwQmQsVUFBVSxFQUFBO0VyQlpkO0lxQnNCSSx5QnBCdENjO0lvQndDZCxVQUFVLEVBQUE7O0FyQnhCZDs7OztFcUJpQ0ksd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTs7QXJCakNwQjtFcUJ3Q0ksa0JBQWtCO0VBQ2xCLDBCcEI5RGMsRUFBQTs7QURxQmxCO0VxQmtESSxjcEJ2RWM7RW9Cd0VkLHNCcEJqRVcsRUFBQTs7QURjZjs7RXFCMERFLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0FyQjNEYjtFcUJzRUUsaUNIeUI4RDtFR3hCOUQsb0NId0I4RDtFR3ZCOUQsZ0JBQWdCO0VsQmlFZCxrQkFBVztFa0IvRGIsZ0JuQmdNK0IsRUFBQTs7QUYxUWpDO0VxQjhFRSwrQkhpQjhEO0VHaEI5RCxrQ0hnQjhEO0VmMEQxRCxrQkFBVztFa0J4RWYsZ0JuQjZIK0IsRUFBQTs7QUY5TWpDO0VxQnFGRSxnQ0hVOEQ7RUdUOUQsbUNIUzhEO0VmMEQxRCxtQkFBVztFa0JqRWYsZ0JuQnVIK0IsRUFBQTs7QUYvTWpDO0VxQmtHRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG1CQUEyQjtFQUMzQixnQkFBZ0I7RWxCb0RaLGVBQVc7RWtCbERmLGdCbkJtSytCO0VtQmxLL0IsY25CbkhnQjtFbUJvSGhCLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsbUJBQW1DLEVBQUE7RXJCM0dyQztJcUIrR0ksZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTs7QXJCaEhuQjtFcUI2SEUsa0NIOUI4RDtFRytCOUQsdUJuQnFQaUM7RUMxTjdCLG1CQUFXO0VrQnpCZixnQm5CK0UrQjtFUXhON0IscUJSK04rQixFQUFBOztBRnRObkM7RXFCcUlFLGdDSHRDOEQ7RUd1QzlELG9CbkJrUGdDO0VDL041QixrQkFBVztFa0JqQmYsZ0JuQnNFK0I7RVF2TjdCLHFCUjhOK0IsRUFBQTs7QUZyTm5DO0VxQmdKSSxZQUFZLEVBQUE7O0FyQmhKaEI7RXFCcUpFLFlBQVksRUFBQTs7QXJCckpkO0VxQjhKRSxtQm5CMlUwQyxFQUFBOztBRnplNUM7RXFCa0tFLGNBQWM7RUFDZCxtQm5CNFQ0QyxFQUFBOztBRi9kOUM7RXFCNEtFLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0JBQTJDO0VBQzNDLGlCQUEwQyxFQUFBO0VyQi9LNUM7O0lxQm1MSSxrQkFBMkM7SUFDM0MsaUJBQTBDLEVBQUE7O0FyQnBMOUM7RXFCOExFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QscUJuQmlTNkMsRUFBQTs7QUZqZS9DO0VxQm9NRSxrQkFBa0I7RUFDbEIsa0JuQjZSMkM7RW1CNVIzQyxxQm5CMlI2QyxFQUFBO0VGamUvQzs7SXFCMk1JLGNuQnpOYyxFQUFBOztBRmNsQjtFcUJnTkUsZ0JBQWdCLEVBQUE7O0FyQmhObEI7RXFCb05FLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHFCbkI4UTRDLEVBQUE7RUZyZTlDO0lxQjJOSSxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLHVCbkJ5UTRDO0ltQnhRNUMsY0FBYyxFQUFBOztBckI5TmxCO0V1QmtCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CckIyYzBDO0VDdFYxQyxrQkFBVztFb0JuSFgsY3JCUGEsRUFBQTs7QUZmakI7RXVCMEJJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCckJzeUJxQztFcUJyeUJyQyxpQkFBaUI7RXBCd0hmLG1CQUFXO0VvQnRIYixnQnJCdU82QjtFcUJ0TzdCLGN0QjFEYztFc0IyRGQsd0NyQnRCYTtFUXhCYixzQlI2TmdDLEVBQUE7RXFCMUtoQzs7SUFFRSxTQUFrQyxFQUFBOztBdkI1Q3hDOztFdUJtRE0sY0FBYyxFQUFBOztBdkJuRHBCO0V1QnlETSxxQnJCMUNXO0VxQjZDVCwrQ0FBNkM7RUFDN0MsaVJMM0IwRTtFSzRCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUwrQndELEVBQUE7RWxCL0ZoRTtJdUJvRVEscUJyQnJEUztJcUJzRFQsZ0RyQnREUyxFQUFBOztBRmZqQjtFdUI4RVEsOEJBQThDO0VBQzlDLHdDQUFzRCxFQUFBOztBdkIvRTlEO0V1QndGUSxvQ0xPd0Q7RUtOeEQsa0ZMTXdELEVBQUE7O0FsQi9GaEU7RXVCZ0dNLHFCckJqRlc7RXFCb0ZULGtEQUFvRTtFQUNwRSx1akJBQThKLEVBQUE7RXZCcEd0SztJdUJ3R1EscUJyQnpGUztJcUIwRlQsZ0RyQjFGUyxFQUFBOztBRmZqQjtFdUJpSFEsY3JCbEdTLEVBQUE7O0FGZmpCOztFdUJzSFEsY0FBYyxFQUFBOztBdkJ0SHRCO0V1QjhIUSxjckIvR1MsRUFBQTtFRmZqQjtJdUJpSVUscUJyQmxITyxFQUFBOztBRmZqQjtFdUJ1SVUscUJBQWtDO0VDNUp4Qyx5QkQ2SitDLEVBQUE7O0F2QnhJbkQ7RXVCOElVLGdEckIvSE8sRUFBQTs7QUZmakI7RXVCa0pVLHFCckJuSU8sRUFBQTs7QUZmakI7RXVCNEpRLHFCckI3SVMsRUFBQTs7QUZmakI7RXVCaUtVLHFCckJsSk87RXFCbUpQLGdEckJuSk8sRUFBQTs7QUZmakI7RXVCa0JJLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJyQjJjMEM7RUN0VjFDLGtCQUFXO0VvQm5IWCxjckJWYSxFQUFBOztBRlpqQjtFdUIwQkksa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJyQnN5QnFDO0VxQnJ5QnJDLGlCQUFpQjtFcEJ3SGYsbUJBQVc7RW9CdEhiLGdCckJ1TzZCO0VxQnRPN0IsY3RCMURjO0VzQjJEZCx3Q3JCekJhO0VRckJiLHNCUjZOZ0MsRUFBQTtFcUIxS2hDOztJQUVFLFNBQWtDLEVBQUE7O0F2QjVDeEM7O0V1Qm1ETSxjQUFjLEVBQUE7O0F2Qm5EcEI7RXVCeURNLHFCckI3Q1c7RXFCZ0RULCtDQUE2QztFQUM3Qyw0VUwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCeERTO0lxQnlEVCxnRHJCekRTLEVBQUE7O0FGWmpCO0V1QjhFUSw4QkFBOEM7RUFDOUMsd0NBQXNELEVBQUE7O0F2Qi9FOUQ7RXVCd0ZRLG9DTE93RDtFS054RCxrRkxNd0QsRUFBQTs7QWxCL0ZoRTtFdUJnR00scUJyQnBGVztFcUJ1RlQsa0RBQW9FO0VBQ3BFLGtuQkFBOEosRUFBQTtFdkJwR3RLO0l1QndHUSxxQnJCNUZTO0lxQjZGVCxnRHJCN0ZTLEVBQUE7O0FGWmpCO0V1QmlIUSxjckJyR1MsRUFBQTs7QUZaakI7O0V1QnNIUSxjQUFjLEVBQUE7O0F2QnRIdEI7RXVCOEhRLGNyQmxIUyxFQUFBO0VGWmpCO0l1QmlJVSxxQnJCckhPLEVBQUE7O0FGWmpCO0V1QnVJVSxxQkFBa0M7RUM1SnhDLHlCRDZKK0MsRUFBQTs7QXZCeEluRDtFdUI4SVUsZ0RyQmxJTyxFQUFBOztBRlpqQjtFdUJrSlUscUJyQnRJTyxFQUFBOztBRlpqQjtFdUI0SlEscUJyQmhKUyxFQUFBOztBRlpqQjtFdUJpS1UscUJyQnJKTztFcUJzSlAsZ0RyQnRKTyxFQUFBOztBRlpqQjtFcUJ3UEUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUIsRUFBQTtFckIxUHJCO0lxQmdRSSxXQUFXLEVBQUE7RVIvTlg7SWJqQ0o7TXFCc1FNLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsdUJBQXVCO01BQ3ZCLGdCQUFnQixFQUFBO0lyQnpRdEI7TXFCOFFNLGFBQWE7TUFDYixjQUFjO01BQ2QsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQixnQkFBZ0IsRUFBQTtJckJsUnRCO01xQnVSTSxxQkFBcUI7TUFDckIsV0FBVztNQUNYLHNCQUFzQixFQUFBO0lyQnpSNUI7TXFCOFJNLHFCQUFxQixFQUFBO0lyQjlSM0I7O01xQm1TTSxXQUFXLEVBQUE7SXJCblNqQjtNcUJ5U00sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsV0FBVztNQUNYLGVBQWUsRUFBQTtJckI3U3JCO01xQmdUTSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGFBQWE7TUFDYixxQm5CZ0x3QztNbUIvS3hDLGNBQWMsRUFBQTtJckJwVHBCO01xQndUTSxtQkFBbUI7TUFDbkIsdUJBQXVCLEVBQUE7SXJCelQ3QjtNcUI0VE0sZ0JBQWdCLEVBQUEsRUFDakI7O0FyQjdUTDtFdUJrQkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQnJCMmMwQztFQ3RWMUMsa0JBQVc7RW9CbkhYLGNyQlBhLEVBQUE7O0FGZmpCO0V1QjBCSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QnJCc3lCcUM7RXFCcnlCckMsaUJBQWlCO0VwQndIZixtQkFBVztFb0J0SGIsZ0JyQnVPNkI7RXFCdE83QixjdEIxRGM7RXNCMkRkLHdDckJ0QmE7RVF4QmIsc0JSNk5nQyxFQUFBO0VxQjFLaEM7O0lBRUUsU0FBa0MsRUFBQTs7QXZCNUN4Qzs7O0V1Qm1ETSxjQUFjLEVBQUE7O0F2Qm5EcEI7RXVCeURNLHFCckIxQ1c7RXFCNkNULCtDQUE2QztFQUM3QyxpUkwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCckRTO0lxQnNEVCxnRHJCdERTLEVBQUE7O0FGZmpCO0V1QjhFUSw4QkFBOEM7RUFDOUMsd0NBQXNELEVBQUE7O0F2Qi9FOUQ7RXVCd0ZRLG9DTE93RDtFS054RCxrRkxNd0QsRUFBQTs7QWxCL0ZoRTtFdUJnR00scUJyQmpGVztFcUJvRlQsa0RBQW9FO0VBQ3BFLHVqQkFBOEosRUFBQTtFdkJwR3RLO0l1QndHUSxxQnJCekZTO0lxQjBGVCxnRHJCMUZTLEVBQUE7O0FGZmpCO0V1QmlIUSxjckJsR1MsRUFBQTs7QUZmakI7OztFdUJzSFEsY0FBYyxFQUFBOztBdkJ0SHRCO0V1QjhIUSxjckIvR1MsRUFBQTtFRmZqQjtJdUJpSVUscUJyQmxITyxFQUFBOztBRmZqQjtFdUJ1SVUscUJBQWtDO0VDNUp4Qyx5QkQ2SitDLEVBQUE7O0F2QnhJbkQ7RXVCOElVLGdEckIvSE8sRUFBQTs7QUZmakI7RXVCa0pVLHFCckJuSU8sRUFBQTs7QUZmakI7RXVCNEpRLHFCckI3SVMsRUFBQTs7QUZmakI7RXVCaUtVLHFCckJsSk87RXFCbUpQLGdEckJuSk8sRUFBQTs7QUZmakI7Ozs7RXlCbkJZLGNBQWMsRUFBQTs7QXpCbUIxQjtFdUJrQkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQnJCMmMwQztFQ3RWMUMsa0JBQVc7RW9CbkhYLGNyQlZhLEVBQUE7O0FGWmpCO0V1QjBCSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QnJCc3lCcUM7RXFCcnlCckMsaUJBQWlCO0VwQndIZixtQkFBVztFb0J0SGIsZ0JyQnVPNkI7RXFCdE83QixjdEIxRGM7RXNCMkRkLHdDckJ6QmE7RVFyQmIsc0JSNk5nQyxFQUFBO0VxQjFLaEM7O0lBRUUsU0FBa0MsRUFBQTs7QXZCNUN4Qzs7O0V1Qm1ETSxjQUFjLEVBQUE7O0F2Qm5EcEI7RXVCeURNLHFCckI3Q1c7RXFCZ0RULCtDQUE2QztFQUM3Qyw0VUwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCeERTO0lxQnlEVCxnRHJCekRTLEVBQUE7O0FGWmpCO0V1QjhFUSw4QkFBOEM7RUFDOUMsd0NBQXNELEVBQUE7O0F2Qi9FOUQ7RXVCd0ZRLG9DTE93RDtFS054RCxrRkxNd0QsRUFBQTs7QWxCL0ZoRTtFdUJnR00scUJyQnBGVztFcUJ1RlQsa0RBQW9FO0VBQ3BFLGtuQkFBOEosRUFBQTtFdkJwR3RLO0l1QndHUSxxQnJCNUZTO0lxQjZGVCxnRHJCN0ZTLEVBQUE7O0FGWmpCO0V1QmlIUSxjckJyR1MsRUFBQTs7QUZaakI7OztFdUJzSFEsY0FBYyxFQUFBOztBdkJ0SHRCO0V1QjhIUSxjckJsSFMsRUFBQTtFRlpqQjtJdUJpSVUscUJyQnJITyxFQUFBOztBRlpqQjtFdUJ1SVUscUJBQWtDO0VDNUp4Qyx5QkQ2SitDLEVBQUE7O0F2QnhJbkQ7RXVCOElVLGdEckJsSU8sRUFBQTs7QUZaakI7RXVCa0pVLHFCckJ0SU8sRUFBQTs7QUZaakI7RXVCNEpRLHFCckJoSlMsRUFBQTs7QUZaakI7RXVCaUtVLHFCckJySk87RXFCc0pQLGdEckJ0Sk8sRUFBQTs7QUZaakI7Ozs7RXlCbkJZLGNBQWMsRUFBQTs7QXpCbUIxQjtFMEJwQkUscUJBQXFCO0VBRXJCLGdCeEJ1UitCO0V3QnRSL0IsY3pCaUVtQjtFeUJoRW5CLGtCQUFrQjtFQUdsQixzQkFBc0I7RUFDdEIseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3Qiw2QkFBMkM7RUN1RjNDLHlCekI0UmtDO0VDaE45QixlQUFXO0V3QjFFZixnQnpCMkwrQjtFUW5SN0Isc0JSNk5nQztFb0IvTjlCLHFJcEJpYjZJLEVBQUE7RW9CN2E3STtJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFSThCdkI7RTFCeEJEO0kwQkxJLGN6QnFEaUI7SXlCcERqQixxQkFBcUIsRUFBQTtFMUJJekI7STBCQ0ksVUFBVTtJQUNWLGdEeEJNYSxFQUFBO0VGUmpCO0kwQlFJLGF4QmtaNkIsRUFBQTtFRjFaakM7STBCYUksZUFBc0QsRUFBQTs7QTFCYjFEOztFMEI2QkUsb0JBQW9CLEVBQUE7O0ExQjdCdEI7RTJCckJFLGMxQkRnQjtFdUJDZCx5QnZCY2tEO0UwQlpwRCxxQjFCWW9ELEVBQUE7RURPdEQ7STJCZkksYzFCUGM7SXVCQ2QseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0UzQnNCN0g7STJCUkksYzFCZGM7SXVCQ2QseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFM0JDdkY7STJCTUksYzFCNUJjO0kwQjZCZCx5QjFCZGtEO0kwQmVsRCxxQjFCZmtELEVBQUE7RURPdEQ7O0kyQmtCSSxjMUJ4Q2M7STBCeUNkLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJM0JzQm5OOztNMkI4QlEsZ0RBQWlGLEVBQUE7O0EzQjlCekY7RTJCckJFLGMxQkRnQjtFdUJDZCx5QnZCR2M7RTBCRGhCLHFCMUJDZ0IsRUFBQTtFRGtCbEI7STJCZkksYzFCUGM7SXVCQ2QseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0UzQnNCN0g7STJCUkksYzFCZGM7SXVCQ2QseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxpREFBaUYsRUFBQTtFM0JDdkY7STJCTUksYzFCNUJjO0kwQjZCZCx5QjFCekJjO0kwQjBCZCxxQjFCMUJjLEVBQUE7RURrQmxCOztJMkJrQkksYzFCeENjO0kwQnlDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLGlEQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJEZ0I7RXVCQ2QseUJ2QnFCaUQ7RTBCbkJuRCxxQjFCbUJtRCxFQUFBO0VEQXJEO0kyQmZJLGMxQlBjO0l1QkNkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQmRjO0l1QkNkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsK0NBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQjVCYztJMEI2QmQseUIxQlBpRDtJMEJRakQscUIxQlJpRCxFQUFBO0VEQXJEOztJMkJrQkksYzFCeENjO0kwQnlDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLCtDQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJEZ0I7RXVCQ2QseUJ2QnVCa0Q7RTBCckJwRCxxQjFCcUJvRCxFQUFBO0VERnREO0kyQmZJLGMxQlBjO0l1QkNkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQmRjO0l1QkNkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQjVCYztJMEI2QmQseUIxQkxrRDtJMEJNbEQscUIxQk5rRCxFQUFBO0VERnREOztJMkJrQkksYzFCeENjO0kwQnlDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLGdEQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJLZ0I7RXVCTGQseUJ2Qm1CaUQ7RTBCakJuRCxxQjFCaUJtRCxFQUFBO0VERXJEO0kyQmZJLGMxQlBjO0l1QkNkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQmRjO0l1QkNkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQnRCYztJMEJ1QmQseUIxQlRpRDtJMEJVakQscUIxQlZpRCxFQUFBO0VERXJEOztJMkJrQkksYzFCeENjO0kwQnlDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLGdEQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJEZ0I7RXVCQ2QseUJ2QmtCaUQ7RTBCaEJuRCxxQjFCZ0JtRCxFQUFBO0VER3JEO0kyQmZJLGMxQlBjO0l1QkNkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQmRjO0l1QkNkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsK0NBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQjVCYztJMEI2QmQseUIxQlZpRDtJMEJXakQscUIxQlhpRCxFQUFBO0VER3JEOztJMkJrQkksYzFCeENjO0kwQnlDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLCtDQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJLZ0I7RXVCTGQseUJ2QkFjO0UwQkVoQixxQjFCRmdCLEVBQUE7RURxQmxCO0kyQmZJLGMxQkRjO0l1QkxkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQlJjO0l1QkxkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsaURBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQnRCYztJMEJ1QmQseUIxQjVCYztJMEI2QmQscUIxQjdCYyxFQUFBO0VEcUJsQjs7STJCa0JJLGMxQmxDYztJMEJtQ2QseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0kzQnNCbk47O00yQjhCUSxpREFBaUYsRUFBQTs7QTNCOUJ6RjtFMkJyQkUsYzFCRGdCO0V1QkNkLHlCdkJLYztFMEJIaEIscUIxQkdnQixFQUFBO0VEZ0JsQjtJMkJmSSxjMUJQYztJdUJDZCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RTNCc0I3SDtJMkJSSSxjMUJkYztJdUJDZCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILDhDQUFpRixFQUFBO0UzQkN2RjtJMkJNSSxjMUI1QmM7STBCNkJkLHlCMUJ2QmM7STBCd0JkLHFCMUJ4QmMsRUFBQTtFRGdCbEI7O0kyQmtCSSxjMUJ4Q2M7STBCeUNkLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJM0JzQm5OOztNMkI4QlEsOENBQWlGLEVBQUE7O0EzQjlCekY7RTJCcUNFLGMxQjVDb0Q7RTBCNkNwRCxxQjFCN0NvRCxFQUFBO0VET3REO0kyQnlDSSxjMUIvRGM7STBCZ0VkLHlCMUJqRGtEO0kwQmtEbEQscUIxQmxEa0QsRUFBQTtFRE90RDtJMkJnREksZ0QxQnZEa0QsRUFBQTtFRE90RDtJMkJxREksYzFCNURrRDtJMEI2RGxELDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUJsRmM7STBCbUZkLHlCMUJwRWtEO0kwQnFFbEQscUIxQnJFa0QsRUFBQTtJRE90RDs7TTJCcUVRLGdEMUI1RThDLEVBQUE7O0FET3REO0UyQnFDRSxjMUJ2RGdCO0UwQndEaEIscUIxQnhEZ0IsRUFBQTtFRGtCbEI7STJCeUNJLGMxQi9EYztJMEJnRWQseUIxQjVEYztJMEI2RGQscUIxQjdEYyxFQUFBO0VEa0JsQjtJMkJnREksaUQxQmxFYyxFQUFBO0VEa0JsQjtJMkJxREksYzFCdkVjO0kwQndFZCw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCbEZjO0kwQm1GZCx5QjFCL0VjO0kwQmdGZCxxQjFCaEZjLEVBQUE7SURrQmxCOztNMkJxRVEsaUQxQnZGVSxFQUFBOztBRGtCbEI7RTJCcUNFLGMxQnJDbUQ7RTBCc0NuRCxxQjFCdENtRCxFQUFBO0VEQXJEO0kyQnlDSSxjMUIvRGM7STBCZ0VkLHlCMUIxQ2lEO0kwQjJDakQscUIxQjNDaUQsRUFBQTtFREFyRDtJMkJnREksK0MxQmhEaUQsRUFBQTtFREFyRDtJMkJxREksYzFCckRpRDtJMEJzRGpELDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUJsRmM7STBCbUZkLHlCMUI3RGlEO0kwQjhEakQscUIxQjlEaUQsRUFBQTtJREFyRDs7TTJCcUVRLCtDMUJyRTZDLEVBQUE7O0FEQXJEO0UyQnFDRSxjMUJuQ29EO0UwQm9DcEQscUIxQnBDb0QsRUFBQTtFREZ0RDtJMkJ5Q0ksYzFCL0RjO0kwQmdFZCx5QjFCeENrRDtJMEJ5Q2xELHFCMUJ6Q2tELEVBQUE7RURGdEQ7STJCZ0RJLGdEMUI5Q2tELEVBQUE7RURGdEQ7STJCcURJLGMxQm5Ea0Q7STBCb0RsRCw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCbEZjO0kwQm1GZCx5QjFCM0RrRDtJMEI0RGxELHFCMUI1RGtELEVBQUE7SURGdEQ7O00yQnFFUSxnRDFCbkU4QyxFQUFBOztBREZ0RDtFMkJxQ0UsYzFCdkNtRDtFMEJ3Q25ELHFCMUJ4Q21ELEVBQUE7RURFckQ7STJCeUNJLGMxQnpEYztJMEIwRGQseUIxQjVDaUQ7STBCNkNqRCxxQjFCN0NpRCxFQUFBO0VERXJEO0kyQmdESSxnRDFCbERpRCxFQUFBO0VERXJEO0kyQnFESSxjMUJ2RGlEO0kwQndEakQsNkJBQTZCLEVBQUE7RTNCdERqQzs7STJCNERJLGMxQjVFYztJMEI2RWQseUIxQi9EaUQ7STBCZ0VqRCxxQjFCaEVpRCxFQUFBO0lERXJEOztNMkJxRVEsZ0QxQnZFNkMsRUFBQTs7QURFckQ7RTJCcUNFLGMxQnhDbUQ7RTBCeUNuRCxxQjFCekNtRCxFQUFBO0VER3JEO0kyQnlDSSxjMUIvRGM7STBCZ0VkLHlCMUI3Q2lEO0kwQjhDakQscUIxQjlDaUQsRUFBQTtFREdyRDtJMkJnREksK0MxQm5EaUQsRUFBQTtFREdyRDtJMkJxREksYzFCeERpRDtJMEJ5RGpELDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUJsRmM7STBCbUZkLHlCMUJoRWlEO0kwQmlFakQscUIxQmpFaUQsRUFBQTtJREdyRDs7TTJCcUVRLCtDMUJ4RTZDLEVBQUE7O0FER3JEO0UyQnFDRSxjMUIxRGdCO0UwQjJEaEIscUIxQjNEZ0IsRUFBQTtFRHFCbEI7STJCeUNJLGMxQnpEYztJMEIwRGQseUIxQi9EYztJMEJnRWQscUIxQmhFYyxFQUFBO0VEcUJsQjtJMkJnREksaUQxQnJFYyxFQUFBO0VEcUJsQjtJMkJxREksYzFCMUVjO0kwQjJFZCw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCNUVjO0kwQjZFZCx5QjFCbEZjO0kwQm1GZCxxQjFCbkZjLEVBQUE7SURxQmxCOztNMkJxRVEsaUQxQjFGVSxFQUFBOztBRHFCbEI7RTJCcUNFLGMxQnJEZ0I7RTBCc0RoQixxQjFCdERnQixFQUFBO0VEZ0JsQjtJMkJ5Q0ksYzFCL0RjO0kwQmdFZCx5QjFCMURjO0kwQjJEZCxxQjFCM0RjLEVBQUE7RURnQmxCO0kyQmdESSw4QzFCaEVjLEVBQUE7RURnQmxCO0kyQnFESSxjMUJyRWM7STBCc0VkLDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUJsRmM7STBCbUZkLHlCMUI3RWM7STBCOEVkLHFCMUI5RWMsRUFBQTtJRGdCbEI7O00yQnFFUSw4QzFCckZVLEVBQUE7O0FEZ0JsQjtFMEJ3REUsZ0J4QjZNK0I7RXdCNU0vQixjekJKa0Q7RXlCS2xELHFCeEIyRjRDLEVBQUE7RUZySjlDO0kwQjZESSxjekJOZ0Q7SXlCT2hELDBCeEJ5RitDLEVBQUE7RUZ2Sm5EO0kwQm1FSSwwQnhCb0YrQyxFQUFBO0VGdkpuRDtJMEJ3RUksY3hCdEZjO0l3QnVGZCxvQkFBb0IsRUFBQTs7QTFCekV4QjtFMkI2RUUsb0J6QjJTZ0M7RUMvTjVCLGtCQUFXO0V3QjFFZixnQnpCK0grQjtFUXZON0IscUJSOE4rQixFQUFBOztBRnJObkM7RTJCNkVFLHVCekJzU2lDO0VDMU43QixtQkFBVztFd0IxRWYsZ0J6QmdJK0I7RVF4TjdCLHFCUitOK0IsRUFBQTs7QUZ0Tm5DO0UwQmtHRSxjQUFjO0VBQ2QsV0FBVyxFQUFBO0UxQm5HYjtJMEJ1R0ksa0J4QndUK0IsRUFBQTs7QUYvWm5DOzs7RTBCZ0hJLFdBQVcsRUFBQTs7QTFCaEhmO0VzQlhNLGdDcEJpUDJDLEVBQUE7RW9CN08zQztJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFTWZ2QjtFNUJxQkQ7STRCdkJJLFVBQVUsRUFBQTs7QTVCdUJkO0U0QmpCSSxhQUFhLEVBQUE7O0E1QmlCakI7RTRCWkUsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0I7RU5EWiw2QnBCa1B3QyxFQUFBO0VvQjlPeEM7SXRCT047TXNCTlEsZ0JBQWdCLEVBQUEsRU1JdkI7RTVCRUQ7STRCTkksUUFBUTtJQUNSLFlBQVk7SU5OViw0QnBCbVB1QyxFQUFBO0lvQi9PdkM7TXRCT047UXNCTlEsZ0JBQWdCLEVBQUEsRU1HckI7O0E1QkdIOzs7O0U2QnRCRSxrQkFBa0IsRUFBQTs7QTdCc0JwQjtFNkJsQkUsbUJBQW1CLEVBQUE7RTdCa0JyQjtJOEJHTSxxQkFBcUI7SUFDckIsb0I1QitOMEM7STRCOU4xQyx1QjVCNk4wQztJNEI1TjFDLFdBQVc7SUFoQ2YsdUJBQThCO0lBQzlCLHFDQUE0QztJQUM1QyxnQkFBZ0I7SUFDaEIsb0NBQTJD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LHlCc0IwRzRCO0l0QnpHNUIsMEJzQnlHNEIsRUFBQTs7QWhDMUdoQzs7RWdDOEhJLGdCQUFnQixFQUFBO0VoQzlIcEI7Ozs7SWdDa0lNLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsb0JBQW9CLEVBQUE7O0FoQ3BJMUI7RWlDcEJFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixXQUFXLEVBQUE7RWpDZ0JiOzs7O0lpQ1ZJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsU0FBUztJQUNULFlBQVk7SUFDWixnQkFBZ0IsRUFBQTtJakNNcEI7Ozs7Ozs7Ozs7OztNaUNETSxpQi9Ca04yQixFQUFBO0VGak5qQzs7O0lpQ09JLFVBQVUsRUFBQTtFakNQZDtJaUNZSSxVQUFVLEVBQUE7RWpDWmQ7O0lVcUJJLHlCdUJKbUQ7SXZCS25ELDRCdUJMbUQsRUFBQTtFakNqQnZEO0lpQ3VCSSxhQUFhO0lBQ2IsbUJBQW1CLEVBQUE7SWpDeEJ2Qjs7TVVPSSwwQnVCb0I2RTtNdkJuQjdFLDZCdUJtQjZFLEVBQUE7SWpDM0JqRjtNVXFCSSx5QnVCT3NFO012Qk50RSw0QnVCTXNFLEVBQUE7RWpDNUIxRTs7OztJVU9JLDBCdUI2QmdDO0l2QjVCaEMsNkJ1QjRCZ0MsRUFBQTtFakNwQ3BDOzs7O0lVT0ksMEJ1QnNDZ0M7SXZCckNoQyw2QnVCcUNnQyxFQUFBOztBakM3Q3BDOztFaUMyREUsYUFBYSxFQUFBO0VqQzNEZjs7SWlDaUVJLGtCQUFrQjtJQUNsQixVQUFVLEVBQUE7SWpDbEVkOztNaUNxRU0sVUFBVSxFQUFBO0VqQ3JFaEI7Ozs7Ozs7O0lpQzZFSSxpQi9Cb0k2QixFQUFBOztBRmpOakM7RWlDaUZ1QixrQi9CZ0lVLEVBQUE7O0FGak5qQztFaUNrRnNCLGlCL0IrSFcsRUFBQTs7QUZqTmpDO0VpQzJGRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHlCL0I0UWtDO0UrQjNRbEMsZ0JBQWdCO0U5QjJEWixlQUFXO0U4QnpEZixnQi9CcUsrQjtFK0JwSy9CLGdCL0J5SytCO0UrQnhLL0IsY2hDdkhnQjtFZ0N3SGhCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJoQ3JIZ0I7RWdDc0hoQix5QmhDeEhnQjtFU1NkLHNCUjZOZ0MsRUFBQTtFRnBOcEM7O0lpQzRHSSxhQUFhLEVBQUE7O0FqQzVHakI7O0VpQ3dIRSxnQ2Z6QjhELEVBQUE7O0FsQi9GaEU7Ozs7OztFaUNpSUUsb0IvQnVQZ0M7RUMvTjVCLGtCQUFXO0U4QnRCZixnQi9CMkUrQjtFUXZON0IscUJSOE4rQixFQUFBOztBRnJObkM7O0VpQ3lJRSxrQ2YxQzhELEVBQUE7O0FsQi9GaEU7Ozs7OztFaUNrSkUsdUIvQmlPaUM7RUMxTjdCLG1CQUFXO0U4QkxmLGdCL0IyRCtCO0VReE43QixxQlIrTitCLEVBQUE7O0FGdE5uQzs7RWlDMEpFLHNCQUEwRSxFQUFBOztBakMxSjVFOzs7Ozs7OztFVU9JLDBCdUJzSzRCO0V2QnJLNUIsNkJ1QnFLNEIsRUFBQTs7QWpDN0toQzs7Ozs7O0VVcUJJLHlCdUJpSzJCO0V2QmhLM0IsNEJ1QmdLMkIsRUFBQTs7QWpDdEwvQjtFVXFCSSx5QndCN0NxQztFeEI4Q3JDLDRCd0I5Q3FDLEVBQUE7O0FsQ3dCekM7RVVPSSwwQndCMUJzQztFeEIyQnRDLDZCd0IzQnNDLEVBQUE7O0FsQ21CMUM7RW1DakJFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBYztFQUNkLGtCQUErQztFQUMvQyxvQkFBcUU7RUFDckUseUJBQXlCLEVBQUE7O0FuQ1kzQjtFbUNSRSxvQkFBb0I7RUFDcEIsa0JqQ3lmMEMsRUFBQTs7QUZsZjVDO0VtQ0hFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFdqQ3FmMEM7RWlDcGYxQyxlQUFtRjtFQUNuRixVQUFVLEVBQUE7RW5DRlo7SW1DS0ksV2pDekJXO0lpQzBCWCxxQmpDRWE7SXNCN0JiLHlCdEI2QmEsRUFBQTtFRlJqQjtJbUNnQk0sZ0RqQ1JXLEVBQUE7RUZSakI7SW1DcUJJLHFCakNzYnNFLEVBQUE7RUYzYzFFO0ltQ3lCSSxXakM3Q1c7SWlDOENYLHlCakNrZjhFO0lpQ2pmOUUscUJqQ2lmOEUsRUFBQTtFRjVnQmxGO0ltQ21DTSxjakNqRFksRUFBQTtJRmNsQjtNbUNzQ1EseUJqQ3hEVSxFQUFBOztBRmtCbEI7RW1DaURFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFFaEIsbUJBQW1CLEVBQUE7RW5DcERyQjtJbUN5REksa0JBQWtCO0lBQ2xCLFlBQWdGO0lBQ2hGLGFBQStEO0lBQy9ELGNBQWM7SUFDZCxXakN3YndDO0lpQ3ZieEMsWWpDdWJ3QztJaUN0YnhDLG9CQUFvQjtJQUNwQixXQUFXO0lBQ1gsc0JqQ3JGVztJaUNzRlgseUJqQ2pGYyxFQUFBO0VGZWxCO0ltQ3dFSSxrQkFBa0I7SUFDbEIsWUFBZ0Y7SUFDaEYsYUFBK0Q7SUFDL0QsY0FBYztJQUNkLFdqQ3lhd0M7SWlDeGF4QyxZakN3YXdDO0lpQ3ZheEMsV0FBVztJQUNYLG1DQUFnRSxFQUFBOztBbkMvRXBFO0VVVEksc0JSNk5nQyxFQUFBOztBRnBOcEM7RW1DK0ZNLGtPakI3RDRFLEVBQUE7O0FsQmxDbEY7RW1DcUdNLHFCakM3Rlc7RXNCN0JiLHlCdEI2QmEsRUFBQTs7QUZSakI7RW1DMEdNLCtLakJ4RTRFLEVBQUE7O0FsQmxDbEY7RXdCckJJLHdDdEI2QmEsRUFBQTs7QUZSakI7RXdCckJJLHdDdEI2QmEsRUFBQTs7QUZSakI7RW1DK0hJLGtCakMwWitDLEVBQUE7O0FGemhCbkQ7RW1Db0lNLDhLakJsRzRFLEVBQUE7O0FsQmxDbEY7RXdCckJJLHdDdEI2QmEsRUFBQTs7QUZSakI7RW1DcUpFLHFCQUEyRCxFQUFBO0VuQ3JKN0Q7SW1DeUpNLGNBQXFEO0lBQ3JELGNqQ2tZK0U7SWlDalkvRSxtQkFBbUI7SUFFbkIscUJqQ2dZNkUsRUFBQTtFRjdoQm5GO0ltQ2lLTSx3QmpCbEUwRDtJaUJtRTFELDBCakJuRTBEO0lpQm9FMUQsdUJqQjVDMEQ7SWlCNkMxRCx3QmpCN0MwRDtJaUI4QzFELHlCakNwTFk7SWlDc0xaLHFCakNzWDZFO0lvQnhpQjdFLHlJcEIwZitILEVBQUE7SW9CdGYvSDtNdEJPTjtRc0JOUSxnQkFBZ0IsRUFBQSxFYStLbkI7RW5DektMO0ltQzhLTSxzQmpDbE1TO0lpQ21NVCw4QkFBNEUsRUFBQTtFbkMvS2xGO0l3QnJCSSx3Q3RCNkJhLEVBQUE7O0FGUmpCO0VtQ2tNRSxxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1DakJyRzhEO0VpQnNHOUQsMENqQ29La0M7RUNoTjlCLGVBQVc7RWdDK0NmLGdCakM2RCtCO0VpQzVEL0IsZ0JqQ2lFK0I7RWlDaEUvQixjbEMvTmdCO0VrQ2dPaEIsc0JBQXNCO0VBQ3RCLHVPakNtVytJO0VpQ2xXL0kseUJsQy9OZ0I7RVNTZCxzQlI2TmdDO0VpQ0psQyx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQixFQUFBO0VuQ2hObEI7SW1DbU5JLHFCakN3UHNFO0lpQ3ZQdEUsVUFBVTtJQUtSLGdEakNqTlcsRUFBQTtJRlJqQjtNbUNrT00sY2xDdlBZO01rQ3dQWixzQmxDalBTLEVBQUE7RURjZjtJbUN5T0ksWUFBWTtJQUNaLHNCakMrSGdDO0lpQzlIaEMsc0JBQXNCLEVBQUE7RW5DM08xQjtJbUMrT0ksY2xDblFjO0lrQ29RZCx5QmxDaFFjLEVBQUE7RURnQmxCO0ltQ3FQSSxhQUFhLEVBQUE7RW5DclBqQjtJbUMwUEksa0JBQWtCO0lBQ2xCLDBCbENoUmMsRUFBQTs7QURxQmxCO0VtQ2dRRSxrQ2pCaks4RDtFaUJrSzlELG9CakNpSGtDO0VpQ2hIbEMsdUJqQ2dIa0M7RWlDL0dsQyxvQmpDZ0hpQztFQzFON0IsbUJBQVcsRUFBQTs7QUh6SmpCO0VtQ3dRRSxnQ2pCeks4RDtFaUIwSzlELG1CakM4R2lDO0VpQzdHakMsc0JqQzZHaUM7RWlDNUdqQyxrQmpDNkdnQztFQy9ONUIsa0JBQVcsRUFBQTs7QUh6SmpCO0VtQ3FSRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2pCekw4RDtFaUIwTDlELGdCQUFnQixFQUFBOztBbkN6UmxCO0VtQzZSRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxtQ2pCak04RDtFaUJrTTlELFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBO0VuQ25TWjtJbUNzU0kscUJqQ3FLc0U7SWlDcEt0RSxnRGpDL1JhLEVBQUE7RUZSakI7O0ltQzZTSSx5QmpDL1RjLEVBQUE7RUZrQmxCO0ltQ2tUTSxpQmpDNFRRLEVBQUE7RUY5bUJkO0ltQ3VUSSwwQkFBMEIsRUFBQTs7QW5DdlQ5QjtFbUM0VEUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsT0FBTztFQUNQLFVBQVU7RUFDVixtQ2pCbE84RDtFaUJtTzlELHlCakN1Q2tDO0VpQ3RDbEMsZ0JBQWdCO0VBRWhCLGdCakNoRStCO0VpQ2lFL0IsZ0JqQzVEK0I7RWlDNkQvQixjakNwVmdCO0VpQ3FWaEIsc0JqQzVWYTtFaUM2VmIseUJqQ3pWZ0I7RVFPZCxzQlI2TmdDLEVBQUE7RUZwTnBDO0ltQzhVSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtJQUNWLGNBQWM7SUFDZCw2QmpCclA0RDtJaUJzUDVELHlCakNvQmdDO0lpQ25CaEMsZ0JqQzVFNkI7SWlDNkU3QixjakNwV2M7SWlDcVdkLGlCQUFpQjtJWDdXakIseUJ0QkdjO0lpQzRXZCxvQkFBb0I7SXpCbldwQixrQ3lCb1dnRixFQUFBOztBbkMzVnBGO0VtQ3NXRSxXQUFXO0VBQ1gsY2pCM1EyQjtFaUI0UTNCLFVBQVU7RUFDViw2QkFBNkI7RUFDN0Isd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFbkMxV2xCO0ltQzZXSSxVQUFVLEVBQUE7SW5DN1dkO01tQ2lYOEIsZ0VqQ3pXYixFQUFBO0lGUmpCO01tQ2tYOEIsZ0VqQzFXYixFQUFBO0lGUmpCO01tQ21YOEIsZ0VqQzNXYixFQUFBO0VGUmpCO0ltQ3VYSSxTQUFTLEVBQUE7RW5DdlhiO0ltQzJYSSxXakNvTjZDO0lpQ25ON0MsWWpDbU42QztJaUNsTjdDLG9CQUEwRTtJWGxaMUUseUJ0QjZCYTtJaUN1WGIsU2pDbU4wQztJUTNsQjFDLG1CUjRsQjZDO0lvQjlsQjNDLG9IcEIwZitIO0lvQjFmL0gsNEdwQjBmK0g7SWlDNUdqSSx3QkFBZ0I7WUFBaEIsZ0JBQWdCLEVBQUE7SWIxWWQ7TXRCT047UXNCTlEsd0JBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVhOFlyQjtJbkN4WUg7TXdCckJJLHlCdEI0bUIyRSxFQUFBO0VGdmxCL0U7SW1DMllJLFdqQzZMb0M7SWlDNUxwQyxjakM2THFDO0lpQzVMckMsa0JBQWtCO0lBQ2xCLGVqQzRMdUM7SWlDM0x2Qyx5QmpDaGFjO0lpQ2lhZCx5QkFBeUI7SXpCelp6QixtQlJxbEJvQyxFQUFBO0VGNWtCeEM7SW1Dc1pJLFdqQ3lMNkM7SWlDeEw3QyxZakN3TDZDO0lzQnBtQjdDLHlCdEI2QmE7SWlDaVpiLFNqQ3lMMEM7SVEzbEIxQyxtQlI0bEI2QztJb0I5bEIzQyxpSHBCMGYrSDtJb0IxZi9ILDRHcEIwZitIO0lpQ2xGakkscUJBQWdCO1NBQWhCLGdCQUFnQixFQUFBO0licGFkO010Qk9OO1FzQk5RLHFCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFYXdhckI7SW5DbGFIO013QnJCSSx5QnRCNG1CMkUsRUFBQTtFRnZsQi9FO0ltQ3FhSSxXakNtS29DO0lpQ2xLcEMsY2pDbUtxQztJaUNsS3JDLGtCQUFrQjtJQUNsQixlakNrS3VDO0lpQ2pLdkMseUJqQzFiYztJaUMyYmQseUJBQXlCO0l6Qm5iekIsbUJScWxCb0MsRUFBQTtFRjVrQnhDO0ltQ2diSSxXakMrSjZDO0lpQzlKN0MsWWpDOEo2QztJaUM3SjdDLGFBQWE7SUFDYixvQmpDckUrQjtJaUNzRS9CLG1CakN0RStCO0lzQm5ZL0IseUJ0QjZCYTtJaUM4YWIsU2pDNEowQztJUTNsQjFDLG1CUjRsQjZDO0lvQjlsQjNDLGdIcEIwZitIO0lvQjFmL0gsNEdwQjBmK0g7SWlDckRqSSxnQkFBZ0IsRUFBQTtJYmpjZDtNdEJPTjtRc0JOUSxvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRWFxY3JCO0luQy9iSDtNd0JyQkkseUJ0QjRtQjJFLEVBQUE7RUZ2bEIvRTtJbUNrY0ksV2pDc0lvQztJaUNySXBDLGNqQ3NJcUM7SWlDcklyQyxrQkFBa0I7SUFDbEIsZWpDcUl1QztJaUNwSXZDLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsb0JBQTZDLEVBQUE7RW5DeGNqRDtJbUM2Y0kseUJqQzlkYztJUVFkLG1CUnFsQm9DLEVBQUE7RUY1a0J4QztJbUNrZEksa0JBQWtCO0lBQ2xCLHlCakNwZWM7SVFRZCxtQlJxbEJvQyxFQUFBO0VGNWtCeEM7SW1DeWRNLHlCakN4ZVksRUFBQTtFRmVsQjtJbUM2ZE0sZUFBZSxFQUFBO0VuQzdkckI7SW1DaWVNLHlCakNoZlksRUFBQTtFRmVsQjtJbUNxZU0sZUFBZSxFQUFBO0VuQ3JlckI7SW1DeWVNLHlCakN4ZlksRUFBQTs7QUZlbEI7OztFc0JYTSw0R3BCMGYrSCxFQUFBO0VvQnRmL0g7SXRCT047OztNc0JOUSxnQkFBZ0IsRUFBQSxFYXdmdkI7O0FuQ2xmRDtFb0NyQkUsYUFBYTtFQUNiLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBcENpQmxCO0VvQ2JFLGNBQWM7RUFDZCxvQmxDMHFCc0MsRUFBQTtFRjlwQnhDO0lvQ1JJLHFCQUFxQixFQUFBO0VwQ1F6QjtJb0NISSxjbENYYztJa0NZZCxvQkFBb0I7SUFDcEIsZUFBZSxFQUFBOztBcENDbkI7RW9DUUUsbURuQ2hDYSxFQUFBO0VEd0JmO0lvQ1dJLG1CbENzTTZCO0lrQ3JNN0IsNkJBQTZCO0lBQzdCLDZCQUFnRDtJMUJiaEQsK0JSb05nQztJUW5OaEMsZ0NSbU5nQyxFQUFBO0lGcE5wQztNb0NrQk0sa0JBQWtCO01BQ2xCLHdEbkMzQ1MsRUFBQTtJRHdCZjtNb0N1Qk0sY2xDckNZO01rQ3NDWiw2QkFBNkI7TUFDN0IseUJBQXlCLEVBQUE7RXBDekIvQjs7SW9DK0JJLGNuQ3REYztJbUN1RGQseUJuQ2VpQjtJbUNkakIscUNuQ2NpQixFQUFBO0VEL0NyQjtJb0NzQ0ksZ0JsQzJLNkI7SVFqTjdCLHlCMEJ3QzRCO0kxQnZDNUIs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QUFBO0lyQ25KbkM7TXFDc0pVLG1CQUFtQixFQUFBO01yQ3RKN0I7UXFDeUpZLGtCQUFrQixFQUFBO01yQ3pKOUI7UXFDNkpZLHFCbkN5aEI2QjtRbUN4aEI3QixvQm5Dd2hCNkIsRUFBQTtJRnRyQnpDOztNcUNvS1UsaUJBQWlCLEVBQUE7SXJDcEszQjtNcUNtTFUsaUJBQWlCLEVBQUE7SXJDbkwzQjtNcUN1TFUsd0JBQXdCO01BR3hCLGdCQUFnQixFQUFBO0lyQzFMMUI7TXFDOExVLGFBQWEsRUFBQSxFQUNkOztBeEJqSkw7RWI5Q0o7O0lxQ2lJVSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBLEVBQ2hCOztBeEJsR0w7RWJqQ0o7SXFDa0pRLHFCQUFxQjtJQUNyQiwyQkFBMkIsRUFBQTtJckNuSm5DO01xQ3NKVSxtQkFBbUIsRUFBQTtNckN0SjdCO1FxQ3lKWSxrQkFBa0IsRUFBQTtNckN6SjlCO1FxQzZKWSxxQm5DeWhCNkI7UW1DeGhCN0Isb0JuQ3doQjZCLEVBQUE7SUZ0ckJ6Qzs7TXFDb0tVLGlCQUFpQixFQUFBO0lyQ3BLM0I7TXFDbUxVLGlCQUFpQixFQUFBO0lyQ25MM0I7TXFDdUxVLHdCQUF3QjtNQUd4QixnQkFBZ0IsRUFBQTtJckMxTDFCO01xQzhMVSxhQUFhLEVBQUEsRUFDZDs7QXJDL0xUO0VxQ2tKUSxxQkFBcUI7RUFDckIsMkJBQTJCLEVBQUE7RXJDbkpuQzs7SXFDaUlVLGdCQUFnQjtJQUNoQixlQUFlLEVBQUE7RXJDbEl6QjtJcUNzSlUsbUJBQW1CLEVBQUE7SXJDdEo3QjtNcUN5Slksa0JBQWtCLEVBQUE7SXJDeko5QjtNcUM2SlkscUJuQ3loQjZCO01tQ3hoQjdCLG9CbkN3aEI2QixFQUFBO0VGdHJCekM7O0lxQ29LVSxpQkFBaUIsRUFBQTtFckNwSzNCO0lxQ21MVSxpQkFBaUIsRUFBQTtFckNuTDNCO0lxQ3VMVSx3QkFBd0I7SUFHeEIsZ0JBQWdCLEVBQUE7RXJDMUwxQjtJcUM4TFUsYUFBYSxFQUFBOztBckM5THZCO0VxQzZNSSx5Qm5Ddk5XLEVBQUE7RUZVZjtJcUNnTk0seUJuQzFOUyxFQUFBOztBRlVmO0VxQ3NOTSx5Qm5DaE9TLEVBQUE7RUZVZjtJcUN5TlEseUJuQ25PTyxFQUFBO0VGVWY7SXFDNk5RLHlCbkN2T08sRUFBQTs7QUZVZjs7OztFcUNxT00seUJuQy9PUyxFQUFBOztBRlVmO0VxQzBPSSx5Qm5DcFBXO0VtQ3FQWCxnQ25DclBXLEVBQUE7O0FGVWY7RXFDK09JLG1SbkI3TThFLEVBQUE7O0FsQmxDbEY7RXFDbVBJLHlCbkM3UFcsRUFBQTtFRlVmO0lxQ3FQTSx5Qm5DL1BTLEVBQUE7SUZVZjtNcUN3UFEseUJuQ2xRTyxFQUFBOztBRlVmO0VxQ2lRSSxXbkNyUlcsRUFBQTtFRm9CZjtJcUNvUU0sV25DeFJTLEVBQUE7O0FGb0JmO0VxQzBRTSwrQm5DOVJTLEVBQUE7RUZvQmY7SXFDNlFRLGdDbkNqU08sRUFBQTtFRm9CZjtJcUNpUlEsZ0NuQ3JTTyxFQUFBOztBRm9CZjs7Ozs7OztFcUN5Uk0sV25DN1NTLEVBQUE7O0FGb0JmO0VxQzhSSSwrQm5DbFRXO0VtQ21UWCxzQ25DblRXLEVBQUE7O0FGb0JmO0VxQ21TSSx5Um5CalE4RSxFQUFBOztBbEJsQ2xGO0VxQ3VTSSwrQm5DM1RXLEVBQUE7RUZvQmY7SXFDeVNNLFduQzdUUyxFQUFBO0lGb0JmO01xQzRTUSxXbkNoVU8sRUFBQTs7QUZvQmY7RXNDdEJFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFFWixxQkFBcUI7RUFDckIseUJyQ0NnQjtFcUNBaEIsMkJBQTJCO0VBQzNCLDRDckNWYTtFU2VYLHNCUjZOZ0MsRUFBQTtFRnBOcEM7SXNDVkksZUFBZTtJQUNmLGNBQWMsRUFBQTtFdENTbEI7SXNDTEksbUJBQW1CO0lBQ25CLHNCQUFzQixFQUFBO0l0Q0kxQjtNc0NETSxtQkFBbUI7TTVCQ3JCLDJDUXVINEQ7TVJ0SDVELDRDUXNINEQsRUFBQTtJbEJ2SGhFO01zQ0lNLHNCQUFzQjtNNUJVeEIsK0NReUc0RDtNUnhHNUQsOENRd0c0RCxFQUFBO0VsQnZIaEU7O0lzQ2FJLGFBQWEsRUFBQTs7QXRDYmpCO0VzQ29CRSxjQUFjO0VBR2QsZUFBZTtFQUNmLGdCcENneEJ5QyxFQUFBOztBRnh5QjNDO0VzQzZCRSxzQnBDMHdCd0MsRUFBQTs7QUZ2eUIxQztFc0NpQ0UscUJBQWdDO0VBQ2hDLGdCQUFnQixFQUFBOztBdENsQ2xCO0VzQ3NDRSxnQkFBZ0IsRUFBQTs7QXRDdENsQjtFc0MyQ0kscUJBQXFCLEVBQUE7O0F0QzNDekI7RXNDK0NJLG9CcEN5dkJ1QyxFQUFBOztBRnh5QjNDO0VzQ3dERSx3QnBDZ3ZCeUM7RW9DL3VCekMsZ0JBQWdCO0VBRWhCLDJDckNuRmE7RXFDb0ZiLG1EckNwRmEsRUFBQTtFRHdCZjtJVVRJLDBENEJ3RThFLEVBQUE7O0F0Qy9EbEY7RXNDb0VFLHdCcENvdUJ5QztFb0NsdUJ6QywyQ3JDOUZhO0VxQytGYixnRHJDL0ZhLEVBQUE7RUR3QmY7SVVUSSwwRFFnSTRELEVBQUE7O0FsQnZIaEU7RXNDb0ZFLHVCQUFrQztFQUNsQyx1QnBDa3RCd0M7RW9DanRCeEMsc0JBQWlDO0VBQ2pDLGdCQUFnQixFQUFBOztBdEN2RmxCO0VzQzJGRSx1QkFBa0M7RUFDbEMsc0JBQWlDLEVBQUE7O0F0QzVGbkM7RXNDaUdFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0JwQzZzQnlDO0VRNXpCdkMsa0NRZ0k0RCxFQUFBOztBbEJ2SGhFOzs7RXNDNkdFLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0F0QzlHYjs7RVVBSSwyQ1F1SDREO0VSdEg1RCw0Q1FzSDRELEVBQUE7O0FsQnZIaEU7O0VVY0ksK0NReUc0RDtFUnhHNUQsOENRd0c0RCxFQUFBOztBbEJ2SGhFO0VzQ2dJSSxtQnBDcXJCdUQsRUFBQTs7QVdweEJ2RDtFYmpDSjtJc0NvSUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQnBDK3FCdUQ7SW9DOXFCdkQsa0JwQzhxQnVELEVBQUE7SUZyekIzRDtNc0MySU0sWUFBWTtNQUNaLGtCcEN5cUJxRDtNb0N4cUJyRCxnQkFBZ0I7TUFDaEIsaUJwQ3VxQnFELEVBQUEsRW9DdHFCdEQ7O0F0Qy9JTDtFc0M0SkksbUJwQ3lwQnVELEVBQUE7O0FXcHhCdkQ7RWJqQ0o7SXNDZ0tJLGFBQWE7SUFDYixtQkFBbUIsRUFBQTtJdENqS3ZCO01zQ3NLTSxZQUFZO01BQ1osZ0JBQWdCLEVBQUE7TXRDdkt0QjtRc0MwS1EsY0FBYztRQUNkLGNBQWMsRUFBQTtNdEMzS3RCO1FVT0ksMEI0QjBLb0M7UTVCektwQyw2QjRCeUtvQyxFQUFBO1F0Q2pMeEM7O1VzQ3NMWSwwQkFBMEIsRUFBQTtRdEN0THRDOztVc0MyTFksNkJBQTZCLEVBQUE7TXRDM0x6QztRVXFCSSx5QjRCMkttQztRNUIxS25DLDRCNEIwS21DLEVBQUE7UXRDaE12Qzs7VXNDcU1ZLHlCQUF5QixFQUFBO1F0Q3JNckM7O1VzQzBNWSw0QkFBNEIsRUFBQSxFQUM3Qjs7QXRDM01YO0VzQ3lOSSxzQnBDOGtCc0MsRUFBQTs7QVd0d0J0QztFYmpDSjtJc0M2Tkksb0JwQzJsQmlDO1NvQzNsQmpDLGVwQzJsQmlDO0lvQzFsQmpDLHdCcEMybEJ1QztTb0MzbEJ2QyxtQnBDMmxCdUM7SW9DMWxCdkMsVUFBVTtJQUNWLFNBQVMsRUFBQTtJdENoT2I7TXNDbU9NLHFCQUFxQjtNQUNyQixXQUFXLEVBQUEsRUFDWjs7QXRDck9MO0VzQytPRSxxQkFBcUIsRUFBQTtFdEMvT3ZCO0lzQ2tQSSxnQkFBZ0IsRUFBQTtJdENsUHBCO01zQ3FQTSxnQkFBZ0I7TTVCdk9sQiw2QjRCd09pQztNNUJ2T2pDLDRCNEJ1T2lDLEVBQUE7SXRDdFByQztNVUFJLHlCNEIwUDhCO001QnpQOUIsMEI0QnlQOEIsRUFBQTtJdEMxUGxDO01VVEksZ0I0QnVRMEI7TUFDeEIsbUJwQzlDMkIsRUFBQTs7QUZqTmpDO0V1QzFCRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHFCckNtaUNzQztFcUNsaUN0QyxtQnJDcWlDc0M7RXFDbmlDdEMsZ0JBQWdCO0VBQ2hCLHlCdENJZ0I7RVNPZCxzQlI2TmdDLEVBQUE7O0FGcE5wQztFdUNiSSxvQnJDeWhDcUMsRUFBQTtFRjVnQ3pDO0l1Q1ZNLFdBQVc7SUFDWCxxQnJDcWhDbUM7SXFDcGhDbkMsY3RDWlk7SXNDYVosWXJDMGhDdUMsRUFBQTs7QUZuaEM3QztFdUNJSSwwQkFBMEIsRUFBQTs7QXZDSjlCO0V1Q1FJLHFCQUFxQixFQUFBOztBdkNSekI7RXVDWUksY3RDaENjLEVBQUE7O0FEb0JsQjtFd0MxQkUsYUFBYTtFakNHYixlQUFlO0VBQ2YsZ0JBQWdCO0VHYWQsc0JSNk5nQyxFQUFBOztBRnBOcEM7RXdDcEJFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsdUJ0Q2l4QndDO0VzQ2h4QnhDLGlCdENrTytCO0VzQ2pPL0IsaUJ0Q294QnNDO0VzQ254QnRDLGN2Q29Fa0Q7RXVDbEVsRCxzQnZDRGE7RXVDRWIseUJ2Q0xnQixFQUFBO0VEaUJsQjtJd0NUSSxVQUFVO0lBQ1YsY3ZDK0RnRDtJdUM5RGhELHFCQUFxQjtJQUNyQix5QnZDVmM7SXVDV2QscUJ2Q1pjLEVBQUE7RURpQmxCO0l3Q0RJLFVBQVU7SUFDVixVdEM0d0JpQztJc0Mzd0JqQyxnRHRDT2EsRUFBQTs7QUZSakI7RXdDUU0sY0FBYztFOUJhaEIsK0JSK0xnQztFUTlMaEMsa0NSOExnQyxFQUFBOztBRnBOcEM7RVVPSSxnQ1I2TWdDO0VRNU1oQyxtQ1I0TWdDLEVBQUE7O0FGcE5wQztFd0NtQkksVUFBVTtFQUNWLFd2Q2xDVztFdUNtQ1gseUJ2QzVCa0Q7RXVDNkJsRCxxQnZDN0JrRCxFQUFBOztBRE90RDtFd0MwQkksY3ZDOUNjO0V1QytDZCxvQkFBb0I7RUFFcEIsWUFBWTtFQUNaLHNCdkM1Q1c7RXVDNkNYLHFCdkNoRGMsRUFBQTs7QURpQmxCO0V5Q3ZCSSx1QnZDMHhCc0M7RUMxbUJwQyxrQkFBVztFc0M5S2IsZ0J2Q21PNkIsRUFBQTs7QUY5TWpDO0VVcUJJLDhCUmdNK0I7RVEvTC9CLGlDUitMK0IsRUFBQTs7QUZyTm5DO0VVT0ksK0JSOE0rQjtFUTdNL0Isa0NSNk0rQixFQUFBOztBRnJObkM7RXlDdkJJLHVCdkN3eEJxQztFQ3htQm5DLG1CQUFXO0VzQzlLYixnQnZDb082QixFQUFBOztBRi9NakM7RVVxQkksOEJSaU0rQjtFUWhNL0IsaUNSZ00rQixFQUFBOztBRnRObkM7RVVPSSwrQlIrTStCO0VROU0vQixrQ1I4TStCLEVBQUE7O0FGdE5uQztFMENyQkUscUJBQXFCO0VBQ3JCLHFCeEM0NUJzQztFQy92QnBDLGNBQVc7RXVDM0piLGdCeEN3UitCO0V3Q3ZSL0IsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VoQ0t0QixzQlI2TmdDO0VvQi9OOUIscUlwQmliNkksRUFBQTtFb0I3YTdJO0l0Qk9OO01zQk5RLGdCQUFnQixFQUFBLEVvQk12QjtFQ1hDO0lER0kscUJBQXFCLEVBQUE7RTFDUTNCO0kwQ0ZJLGFBQWEsRUFBQTs7QTFDRWpCO0UwQ0lFLGtCQUFrQjtFQUNsQixTQUFTLEVBQUE7O0ExQ0xYO0UwQ2FFLG9CeENpNEJzQztFd0NoNEJ0QyxtQnhDZzRCc0M7RVF2NUJwQyxvQlIwNUJxQyxFQUFBOztBRmo1QnpDO0U0QzFCRSxjM0NJZ0I7RTJDSGhCLHlCM0NrQm9ELEVBQUE7RTBDSnBEO0lDVkksYzNDRFk7STJDRVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsZ0QzQ09nRCxFQUFBOztBRE90RDtFNEMxQkUsYzNDSWdCO0UyQ0hoQix5QjNDT2dCLEVBQUE7RTBDT2hCO0lDVkksYzNDRFk7STJDRVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaUQzQ0pZLEVBQUE7O0FEa0JsQjtFNEMxQkUsYzNDSWdCO0UyQ0hoQix5QjNDeUJtRCxFQUFBO0UwQ1huRDtJQ1ZJLGMzQ0RZO0kyQ0VaLHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLCtDM0NjK0MsRUFBQTs7QURBckQ7RTRDMUJFLGMzQ0lnQjtFMkNIaEIseUIzQzJCb0QsRUFBQTtFMENicEQ7SUNWSSxjM0NEWTtJMkNFWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDVixnRDNDZ0JnRCxFQUFBOztBREZ0RDtFNEMxQkUsYzNDVWdCO0UyQ1RoQix5QjNDdUJtRCxFQUFBO0UwQ1RuRDtJQ1ZJLGMzQ0tZO0kyQ0paLHlCQUFrQyxFQUFBO0VBSDlCO0lBUUosVUFBVTtJQUNWLGdEM0NZK0MsRUFBQTs7QURFckQ7RTRDMUJFLGMzQ0lnQjtFMkNIaEIseUIzQ3NCbUQsRUFBQTtFMENSbkQ7SUNWSSxjM0NEWTtJMkNFWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDViwrQzNDVytDLEVBQUE7O0FER3JEO0U0QzFCRSxjM0NVZ0I7RTJDVGhCLHlCM0NJZ0IsRUFBQTtFMENVaEI7SUNWSSxjM0NLWTtJMkNKWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDVixpRDNDUFksRUFBQTs7QURxQmxCO0U0QzFCRSxjM0NJZ0I7RTJDSGhCLHlCM0NTZ0IsRUFBQTtFMENLaEI7SUNWSSxjM0NEWTtJMkNFWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDViw4QzNDRlksRUFBQTs7QURnQmxCO0U2QzFCRSxrQkFBcUQ7RUFDckQsbUIzQ3l6QnNDO0UyQ3Z6QnRDLHlCNUNPZ0I7RVNPZCxxQlI4TitCLEVBQUE7RVdwTC9CO0liakNKO002Q25CSSxrQjNDbXpCb0MsRUFBQSxFMkNqekJ2Qzs7QTdDaUJEO0U2Q2RFLGdCQUFnQjtFQUNoQixlQUFlO0VuQ0liLGdCbUNIc0IsRUFBQTs7QTdDWTFCO0U4Q3RCRSxrQkFBa0I7RUFDbEIsd0I1Q3k5QnlDO0U0Q3g5QnpDLG1CNUN5OUJzQztFNEN4OUJ0Qyw2QkFBNkM7RXBDVTNDLHNCUjZOZ0MsRUFBQTs7QUZwTnBDO0U4Q1pFLGNBQWMsRUFBQTs7QTlDWWhCO0U4Q1BFLGdCNUM2UStCLEVBQUE7O0FGdFFqQztFOENFRSxtQkFBc0QsRUFBQTtFOUNGeEQ7SThDTUksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsVUFBVTtJQUNWLHdCNUMwN0J1QztJNEN6N0J2QyxjQUFjLEVBQUE7O0E5Q1hsQjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QUNSNUI7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QUFGL0I7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QWhEdUJqQztFZ0RsQkUsYUFBYTtFQUNiLFk5Q2srQnNDO0U4Q2orQnRDLGdCQUFnQjtFQUNoQixjQUFjO0U3Q3dLVixrQkFBVztFNkN0S2YseUI5Q0xnQjtFUVNkLHNCUjZOZ0MsRUFBQTs7QUZwTnBDO0VnRFBFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXOUNqQmE7RThDa0JiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUI5Q1FlO0VvQm5CWCwyQnBCbytCNEMsRUFBQTtFb0JoK0I1QztJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFMEJRdkI7O0FoREZEO0V3QmdCRSxxTUFBNkk7RXdCVjdJLDBCOUMyOEJzQyxFQUFBOztBRmo5QnhDO0VnRFdJLDBEQUE4RDtVQUE5RCxrREFBOEQsRUFBQTtFQUc1RDtJaERkTjtNZ0RlUSx1QkFBZTtjQUFmLGVBQWUsRUFBQSxFQUdwQjs7QWhEbEJIO0VpRDFCRSxhQUFhO0VBQ2IsdUJBQXVCLEVBQUE7O0FqRHlCekI7RWlEckJFLE9BQU8sRUFBQTs7QWpEcUJUO0VrRHRCRSxhQUFhO0VBQ2Isc0JBQXNCO0VBR3RCLGVBQWU7RUFDZixnQkFBZ0I7RXhDUWQsc0JSNk5nQyxFQUFBOztBRnBOcEM7RWtETkUsV0FBVztFQUNYLGNqRGhCZ0I7RWlEaUJoQixtQkFBbUIsRUFBQTtFbERJckI7SWtEQUksVUFBVTtJQUNWLGNqRHRCYztJaUR1QmQscUJBQXFCO0lBQ3JCLHlCakRsQmMsRUFBQTtFRGVsQjtJa0RPSSxjakR5Q2lCO0lpRHhDakIseUJqRHhCYyxFQUFBOztBRGdCbEI7RWtEa0JFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2Qsd0JoRGk5QnlDO0VnRDk4QnpDLHdDakR3Qm1CO0VpRHZCbkIsNENqRGhEYSxFQUFBO0VEd0JmO0lVQUksK0J3QzJCa0M7SXhDMUJsQyxnQ3dDMEJrQyxFQUFBO0VsRDNCdEM7SVVjSSxtQ3dDaUJxQztJeENoQnJDLGtDd0NnQnFDLEVBQUE7RWxEL0J6QztJa0RvQ0ksY2pEeERjO0lpRHlEZCxvQkFBb0I7SUFDcEIsd0NqRFNpQixFQUFBO0VEL0NyQjtJa0QyQ0ksVUFBVTtJQUNWLFdqRDFEVztJaUQyRFgseUJqRHBEa0Q7SWlEcURsRCxxQmpEckRrRCxFQUFBO0VET3REO0lrRGtESSxtQkFBbUIsRUFBQTtJbERsRHZCO01rRHFETSxnQmhENEoyQjtNZ0QzSjNCLHFCaEQySjJCLEVBQUE7O0FGak5qQztFa0RxRU0sbUJBQW1CLEVBQUE7RWxEckV6QjtJVThDSSxrQ1JzS2dDO0lRbExoQywwQndDd0N3QyxFQUFBO0VsRDFFNUM7SVVrQ0ksZ0NSa0xnQztJUXRLaEMsNEJ3Q2lDMEMsRUFBQTtFbEQvRTlDO0lrRG1GVSxhQUFhLEVBQUE7RWxEbkZ2QjtJa0R1RlUscUJoRDBIdUI7SWdEekh2QixvQkFBb0IsRUFBQTtJbER4RjlCO01rRDJGWSxpQmhEc0hxQjtNZ0RySHJCLHNCaERxSHFCLEVBQUE7O0FXaEw3QjtFYmpDSjtJa0RxRU0sbUJBQW1CLEVBQUE7SWxEckV6QjtNVThDSSxrQ1JzS2dDO01RbExoQywwQndDd0N3QyxFQUFBO0lsRDFFNUM7TVVrQ0ksZ0NSa0xnQztNUXRLaEMsNEJ3Q2lDMEMsRUFBQTtJbEQvRTlDO01rRG1GVSxhQUFhLEVBQUE7SWxEbkZ2QjtNa0R1RlUscUJoRDBIdUI7TWdEekh2QixvQkFBb0IsRUFBQTtNbER4RjlCO1FrRDJGWSxpQmhEc0hxQjtRZ0RySHJCLHNCaERxSHFCLEVBQUEsRWdEcEh0Qjs7QXJDNURQO0ViakNKO0lrRHFFTSxtQkFBbUIsRUFBQTtJbERyRXpCO01VOENJLGtDUnNLZ0M7TVFsTGhDLDBCd0N3Q3dDLEVBQUE7SWxEMUU1QztNVWtDSSxnQ1JrTGdDO01RdEtoQyw0QndDaUMwQyxFQUFBO0lsRC9FOUM7TWtEbUZVLGFBQWEsRUFBQTtJbERuRnZCO01rRHVGVSxxQmhEMEh1QjtNZ0R6SHZCLG9CQUFvQixFQUFBO01sRHhGOUI7UWtEMkZZLGlCaERzSHFCO1FnRHJIckIsc0JoRHFIcUIsRUFBQSxFZ0RwSHRCOztBckM1RFA7RWJqQ0o7SWtEcUVNLG1CQUFtQixFQUFBO0lsRHJFekI7TVU4Q0ksa0NSc0tnQztNUWxMaEMsMEJ3Q3dDd0MsRUFBQTtJbEQxRTVDO01Va0NJLGdDUmtMZ0M7TVF0S2hDLDRCd0NpQzBDLEVBQUE7SWxEL0U5QztNa0RtRlUsYUFBYSxFQUFBO0lsRG5GdkI7TWtEdUZVLHFCaEQwSHVCO01nRHpIdkIsb0JBQW9CLEVBQUE7TWxEeEY5QjtRa0QyRlksaUJoRHNIcUI7UWdEckhyQixzQmhEcUhxQixFQUFBLEVnRHBIdEI7O0FyQzVEUDtFYmpDSjtJa0RxRU0sbUJBQW1CLEVBQUE7SWxEckV6QjtNVThDSSxrQ1JzS2dDO01RbExoQywwQndDd0N3QyxFQUFBO0lsRDFFNUM7TVVrQ0ksZ0NSa0xnQztNUXRLaEMsNEJ3Q2lDMEMsRUFBQTtJbEQvRTlDO01rRG1GVSxhQUFhLEVBQUE7SWxEbkZ2QjtNa0R1RlUscUJoRDBIdUI7TWdEekh2QixvQkFBb0IsRUFBQTtNbER4RjlCO1FrRDJGWSxpQmhEc0hxQjtRZ0RySHJCLHNCaERxSHFCLEVBQUEsRWdEcEh0Qjs7QWxEN0ZYO0VVVEksZ0J3Q29Ic0IsRUFBQTtFbEQzRzFCO0lrRDhHSSxxQmhEbUc2QixFQUFBO0lGak5qQztNa0RpSE0sc0JBQXNCLEVBQUE7O0FsRGpINUI7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFbUR2QkksY2pDcUc4RDtFaUNwRzlELHlCakNvRzhELEVBQUE7RWxCOUVsRTtJbURsQlEsY2pDZ0cwRDtJaUMvRjFELHlCQUF5QyxFQUFBO0VuRGlCakQ7SW1EYlEsV2xEWE87SWtEWVAseUJqQzBGMEQ7SWlDekYxRCxxQmpDeUYwRCxFQUFBOztBbEI5RWxFO0VtRHZCSSxjakNxRzhEO0VpQ3BHOUQseUJqQ29HOEQsRUFBQTtFbEI5RWxFO0ltRGxCUSxjakNnRzBEO0lpQy9GMUQseUJBQXlDLEVBQUE7RW5EaUJqRDtJbURiUSxXbERYTztJa0RZUCx5QmpDMEYwRDtJaUN6RjFELHFCakN5RjBELEVBQUE7O0FsQjlFbEU7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFbUR2QkksY2pDcUc4RDtFaUNwRzlELHlCakNvRzhELEVBQUE7RWxCOUVsRTtJbURsQlEsY2pDZ0cwRDtJaUMvRjFELHlCQUF5QyxFQUFBO0VuRGlCakQ7SW1EYlEsV2xEWE87SWtEWVAseUJqQzBGMEQ7SWlDekYxRCxxQmpDeUYwRCxFQUFBOztBbEI5RWxFO0VtRHZCSSxjakNxRzhEO0VpQ3BHOUQseUJqQ29HOEQsRUFBQTtFbEI5RWxFO0ltRGxCUSxjakNnRzBEO0lpQy9GMUQseUJBQXlDLEVBQUE7RW5EaUJqRDtJbURiUSxXbERYTztJa0RZUCx5QmpDMEYwRDtJaUN6RjFELHFCakN5RjBELEVBQUE7O0FsQjlFbEU7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFbUR2QkksY2pDcUc4RDtFaUNwRzlELHlCakNvRzhELEVBQUE7RWxCOUVsRTtJbURsQlEsY2pDZ0cwRDtJaUMvRjFELHlCQUF5QyxFQUFBO0VuRGlCakQ7SW1EYlEsV2xEWE87SWtEWVAseUJqQzBGMEQ7SWlDekYxRCxxQmpDeUYwRCxFQUFBOztBbEI5RWxFO0VvRDFCRSxZQUFZO0VqRG1MUixpQkFBVztFaURqTGYsZ0JsRDhSK0I7RWtEN1IvQixjQUFjO0VBQ2QsV25ERmE7RW1ER2IseUJuRE9hO0VtRE5iLFdBQVcsRUFBQTtFcERvQmI7SW9EaEJJLFduRFJXO0ltRFNYLHFCQUFxQixFQUFBO0VwRGV6QjtJb0RWTSxZQUFZLEVBQUE7O0FwRFVsQjtFb0RFRSxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLFNBQVMsRUFBQTs7QXBESlg7RW9EV0Usb0JBQW9CLEVBQUE7O0FwRFh0QjtFcUR4QkUsaUJuRDI0QnVDO0VtRDE0QnZDLGdCbkQwNEJ1QztFQzF0Qm5DLG1CQUFXO0VrRDdLZixxQ3BETWE7RW9ETGIsNEJBQTRCO0VBQzVCLDBDcERvTHlEO0VvRG5MekQsc0RwRFBhO0VvRFFiLFVBQVU7RTNDT1Isc0JSbzRCc0MsRUFBQTtFRjMzQjFDO0lxRFpJLHNCbkRnNEJzQyxFQUFBO0VGcDNCMUM7SXFEUkksVUFBVSxFQUFBO0VyRFFkO0lxREpJLGNBQWM7SUFDZCxVQUFVLEVBQUE7RXJER2Q7SXFEQ0ksYUFBYSxFQUFBOztBckREakI7RXFETUUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix3Qm5ENDJCd0M7RW1EMzJCeEMsY3BEN0JnQjtFb0Q4QmhCLHFDcER4QmE7RW9EeUJiLDRCQUE0QjtFQUM1QixrRHBEMkowRDtFU3ZLeEQsMkNRdUg0RDtFUnRINUQsNENRc0g0RCxFQUFBOztBbEJ2SGhFO0VxRGlCRSxnQm5EbTJCd0MsRUFBQTs7QUZwM0IxQztFc0RuQkUsZ0JBQWdCLEVBQUE7RXREbUJsQjtJc0RoQkksa0JBQWtCO0lBQ2xCLGdCQUFnQixFQUFBOztBdERlcEI7RXNEVEUsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYXBENHBCc0M7RW9EM3BCdEMsYUFBYTtFQUNiLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBR2hCLFVBQVUsRUFBQTs7QXRERFo7RXNEU0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxjcERpNUJ1QztFb0QvNEJ2QyxvQkFBb0IsRUFBQTtFQUdwQjtJaEMzQkksbUNwQnM4Qm9EO0lvRHo2QnRELDhCcER1NkJtRCxFQUFBO0lvQmg4QmpEO01nQ3VCSjtRaEN0Qk0sZ0JBQWdCLEVBQUEsRWdDeUJyQjtFQUNEO0lBQ0UsZXBEcTZCb0MsRUFBQTtFb0RqNkJ0QztJQUNFLHNCcERrNkIyQyxFQUFBOztBRjU3Qi9DO0VzRCtCRSxhQUFhO0VBQ2IsNkJwQ3VGOEQsRUFBQTtFbEJ2SGhFO0lzRG1DSSw4QnBDb0Y0RDtJb0NuRjVELGdCQUFnQixFQUFBO0V0RHBDcEI7O0lzRHlDSSxjQUFjLEVBQUE7RXREekNsQjtJc0Q2Q0ksZ0JBQWdCLEVBQUE7O0F0RDdDcEI7RXNEa0RFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsNkJwQ21FOEQsRUFBQTtFbEJ2SGhFO0lzRHdESSxjQUFjO0lBQ2QsMEJwQzhENEQ7SW9DN0Q1RCwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQixXQUFXLEVBQUE7RXREM0RmO0lzRGdFSSxzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLFlBQVksRUFBQTtJdERsRWhCO01zRHFFTSxnQkFBZ0IsRUFBQTtJdERyRXRCO01zRHlFTSxhQUFhLEVBQUE7O0F0RHpFbkI7RXNEZ0ZFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFdBQVc7RUFHWCxvQkFBb0I7RUFDcEIseUJyRHhDbUI7RXFEeUNuQiw0QkFBNEI7RUFDNUIsMENyRGpIYTtFU2VYLHFCUjhOK0I7RW9EeEhqQyxVQUFVLEVBQUE7O0F0RDdGWjtFc0RrR0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsYXBEZ2pCc0M7RW9EL2lCdEMsWUFBWTtFQUNaLGFBQWE7RUFDYixzQnBEbEhhLEVBQUE7RUZVZjtJc0QyR1csVUFBVSxFQUFBO0V0RDNHckI7SXNENEdXLFlwRCt6QjJCLEVBQUE7O0FGMzZCdEM7RXNEa0hFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLGtCcEQ0ekJzQztFb0QzekJ0QyxnQ3JEdElnQjtFU2dCZCwwQ1F1SDREO0VSdEg1RCwyQ1FzSDRELEVBQUE7RWxCdkhoRTtJc0QwSEksa0JwRHV6Qm9DO0lvRHJ6QnBDLDhCQUE2RixFQUFBOztBdEQ1SGpHO0VzRGtJRSxnQkFBZ0I7RUFDaEIsZ0JwRHVJK0IsRUFBQTs7QUYxUWpDO0VzRHlJRSxrQkFBa0I7RUFHbEIsY0FBYztFQUNkLGFwRDB3QnNDLEVBQUE7O0FGdjVCeEM7RXNEa0pFLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixnQkFBaUU7RUFDakUsNkJyRHZLZ0I7RVM4QmQsOENReUc0RDtFUnhHNUQsNkNRd0c0RCxFQUFBO0VsQnZIaEU7SXNEOEpJLGVBQXlDLEVBQUE7O0F0RDlKN0M7RXNEb0tFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0IsRUFBQTs7QXpDdklkO0ViakNKO0lzRCtLSSxnQnBEdXdCcUM7SW9EdHdCckMsb0JBQXlDLEVBQUE7RXREaEw3QztJc0RvTEksK0JwQzdENEQsRUFBQTtJbEJ2SGhFO01zRHVMTSxnQ3BDaEUwRCxFQUFBO0VsQnZIaEU7SXNENExJLCtCcENyRTRELEVBQUE7SWxCdkhoRTtNc0QrTE0sNEJwQ3hFMEQ7TW9DeUUxRCwyQkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLG1CQUFtQixFQUFBO0V0RGhNekI7SXNEd01jLGdCcEQrdUIyQixFQUFBLEVvRC91Qkg7O0F6Q3ZLbEM7RWJqQ0o7O0lzRDhNSSxnQnBEdXVCcUMsRUFBQSxFb0R0dUJ0Qzs7QXpDOUtDO0ViakNKO0lzRG1OYyxpQnBEaXVCNEIsRUFBQSxFb0RqdUJKOztBdERuTnRDO0V1RHpCRSxrQkFBa0I7RUFDbEIsYXJEZ3JCc0M7RXFEL3FCdEMsY0FBYztFQUNkLFNyRDYxQm1DO0VzRGoyQm5DLHFOdERvUm9PO0VzRGxScE8sa0JBQWtCO0VBQ2xCLGdCdEQ0UitCO0VzRDNSL0IsZ0J0RGdTK0I7RXNEL1IvQixnQkFB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Rix3QnZEcEVTLEVBQUE7O0FGb0JmO0V5RHNERSxrQnZEcXpCdUMsRUFBQTtFRjMyQnpDO0l5RHlESSx3QnZDOEQ0RCxFQUFBO0lsQnZIaEU7TXlENERNLE1BQU07TUFDTixvQ0FBNkY7TUFDN0Ysd0N2RGd6QmlFLEVBQUE7SUY5MkJ2RTtNeURrRU0sUXZEK0kyQjtNdUQ5STNCLG9DQUE2RjtNQUM3Rix5QnZEeEZTLEVBQUE7RUZvQmY7SXlEMEVJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULGNBQWM7SUFDZCxXdkQ0eEJvQztJdUQzeEJwQyxvQkFBdUM7SUFDdkMsV0FBVztJQUNYLGdDdkRneEJ1RCxFQUFBOztBRmoyQjNEO0V5RHNGRSxvQnZEcXhCdUMsRUFBQTtFRjMyQnpDO0l5RHlGSSwwQnZDOEI0RDtJdUM3QjVELGF2RGl4QnFDO0l1RGh4QnJDLFl2RCt3Qm9DO0l1RDl3QnBDLGdCQUFnQyxFQUFBO0l6RDVGcEM7TXlEK0ZNLFFBQVE7TUFDUixvQ3ZEMndCbUM7TXVEMXdCbkMsc0N2RDZ3QmlFLEVBQUE7SUY5MkJ2RTtNeURxR00sVXZENEcyQjtNdUQzRzNCLG9DdkRxd0JtQztNdURwd0JuQyx1QnZEM0hTLEVBQUE7O0FGb0JmO0V5RDhIRSx1QnZEc3VCd0M7RXVEcnVCeEMsZ0JBQWdCO0V0RDBCWixlQUFXO0VzRHZCZix5QnZEK3RCeUQ7RXVEOXRCekQsZ0NBQXlFO0UvQ25JdkUsMENRdUg0RDtFUnRINUQsMkNRc0g0RCxFQUFBO0VsQnZIaEU7SXlEdUlJLGFBQWEsRUFBQTs7QXpEdklqQjtFeUQ0SUUsdUJ2RHd0QndDO0V1RHZ0QnhDLGN2RHhKZ0IsRUFBQTs7QUZXbEI7RTBEYkUsa0JBQWtCLEVBQUE7O0ExRGFwQjtFMERURSxtQkFBbUIsRUFBQTs7QTFEU3JCO0UwRExFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsZ0JBQWdCLEVBQUE7RTFER2xCO0kyRHpCSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFdBQVcsRUFBQTs7QTNEdUJmO0UwREVFLGtCQUFrQjtFQUNsQixhQUFhO0VB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RUFBQTs7QW5FZHZFO0VtRWdCb0MsMkJBQTJCLEVBQUE7O0FuRWhCL0Q7RW1FaUJvQyxpQ0FBaUMsRUFBQTs7QW5FakJyRTtFbUVrQm9DLCtCQUErQixFQUFBOztBbkVsQm5FO0VtRW1Cb0MsNkJBQTZCLEVBQUE7O0FuRW5CakU7RW1Fb0JvQywrQkFBK0IsRUFBQTs7QW5FcEJuRTtFbUVxQm9DLDhCQUE4QixFQUFBOztBdERZOUQ7RWJqQ0o7SW1FakJvQyw4QkFBOEIsRUFBQTtFbkVpQmxFO0ltRWhCb0MsaUNBQWlDLEVBQUE7RW5FZ0JyRTtJbUVmb0Msc0NBQXNDLEVBQUE7RW5FZTFFO0ltRWRvQyx5Q0FBeUMsRUFBQTtFbkVjN0U7SW1FWmtDLDBCQUEwQixFQUFBO0VuRVk1RDtJbUVYa0MsNEJBQTRCLEVBQUE7RW5FVzlEO0ltRVZrQyxrQ0FBa0MsRUFBQTtFbkVVcEU7SW1FVGtDLHlCQUF5QixFQUFBO0VuRVMzRDtJbUVSa0MsdUJBQXVCLEVBQUE7RW5FUXpEO0ltRVBrQyx1QkFBdUIsRUFBQTtFbkVPekQ7SW1FTmtDLHlCQUF5QixFQUFBO0VuRU0zRDtJbUVMa0MseUJBQXlCLEVBQUE7RW5FSzNEO0ltRUh3QyxzQ0FBc0MsRUFBQTtFbkVHOUU7SW1FRndDLG9DQUFvQyxFQUFBO0VuRUU1RTtJbUVEd0Msa0NBQWtDLEVBQUE7RW5FQzFFO0ltRUF3Qyx5Q0FBeUMsRUFBQTtFbkVBakY7SW1FQ3dDLHdDQUF3QyxFQUFBO0VuRURoRjtJbUVHcUMsa0NBQWtDLEVBQUE7RW5FSHZFO0ltRUlxQyxnQ0FBZ0MsRUFBQTtFbkVKckU7SW1FS3FDLDhCQUE4QixFQUFBO0VuRUxuRTtJbUVNcUMsZ0NBQWdDLEVBQUE7RW5FTnJFO0ltRU9xQywrQkFBK0IsRUFBQTtFbkVQcEU7SW1FU3NDLG9DQUFvQyxFQUFBO0VuRVQxRTtJbUVVc0Msa0NBQWtDLEVBQUE7RW5FVnhFO0ltRVdzQyxnQ0FBZ0MsRUFBQTtFbkVYdEU7SW1FWXNDLHVDQUF1QyxFQUFBO0VuRVo3RTtJbUVhc0Msc0NBQXNDLEVBQUE7RW5FYjVFO0ltRWNzQyxpQ0FBaUMsRUFBQTtFbkVkdkU7SW1FZ0JvQywyQkFBMkIsRUFBQTtFbkVoQi9EO0ltRWlCb0MsaUNBQWlDLEVBQUE7RW5FakJyRTtJbUVrQm9DLCtCQUErQixFQUFBO0VuRWxCbkU7SW1FbUJvQyw2QkFBNkIsRUFBQTtFbkVuQmpFO0ltRW9Cb0MsK0JBQStCLEVBQUE7RW5FcEJuRTtJbUVxQm9DLDhCQUE4QixFQUFBLEVBQUk7O0F0RFlsRTtFYmpDSjtJbUVqQm9DLDhCQUE4QixFQUFBO0VuRWlCbEU7SW1FaEJvQyxpQ0FBaUMsRUFBQTtFbkVnQnJFO0ltRWZvQyxzQ0FBc0MsRUFBQTtFbkVlMUU7SW1FZG9DLHlDQUF5QyxFQUFBO0VuRWM3RTtJbUVaa0MsMEJBQTBCLEVBQUE7RW5FWTVEO0ltRVhrQyw0QkFBNEIsRUFBQTtFbkVXOUQ7SW1FVmtDLGtDQUFrQyxFQUFBO0VuRVVwRTtJbUVUa0MseUJBQXlCLEVBQUE7RW5FUzNEO0ltRVJrQyx1QkFBdUIsRUFBQTtFbkVRekQ7SW1FUGtDLHVCQUF1QixFQUFBO0VuRU96RDtJbUVOa0MseUJBQXlCLEVBQUE7RW5FTTNEO0ltRUxrQyx5QkFBeUIsRUFBQTtFbkVLM0Q7SW1FSHdDLHNDQUFzQyxFQUFBO0VuRUc5RTtJbUVGd0Msb0NBQW9DLEVBQUE7RW5FRTVFO0ltRUR3QyxrQ0FBa0MsRUFBQTtFbkVDMUU7SW1FQXdDLHlDQUF5QyxFQUFBO0VuRUFqRjtJbUVDd0Msd0NBQXdDLEVBQUE7RW5FRGhGO0ltRUdxQyxrQ0FBa0MsRUFBQTtFbkVIdkU7SW1FSXFDLGdDQUFnQyxFQUFBO0VuRUpyRTtJbUVLcUMsOEJBQThCLEVBQUE7RW5FTG5FO0ltRU1xQyxnQ0FBZ0MsRUFBQTtFbkVOckU7SW1FT3FDLCtCQUErQixFQUFBO0VuRVBwRTtJbUVTc0Msb0NBQW9DLEVBQUE7RW5FVDFFO0ltRVVzQyxrQ0FBa0MsRUFBQTtFbkVWeEU7SW1FV3NDLGdDQUFnQyxFQUFBO0VuRVh0RTtJbUVZc0MsdUNBQXVDLEVBQUE7RW5FWjdFO0ltRWFzQyxzQ0FBc0MsRUFBQTtFbkViNUU7SW1FY3NDLGlDQUFpQyxFQUFBO0VuRWR2RTtJbUVnQm9DLDJCQUEyQixFQUFBO0VuRWhCL0Q7SW1FaUJvQyxpQ0FBaUMsRUFBQTtFbkVqQnJFO0ltRWtCb0MsK0JBQStCLEVBQUE7RW5FbEJuRTtJbUVtQm9DLDZCQUE2QixFQUFBO0VuRW5CakU7SW1Fb0JvQywrQkFBK0IsRUFBQTtFbkVwQm5FO0ltRXFCb0MsOEJBQThCLEVBQUEsRUFBSTs7QXREWWxFO0ViakNKO0ltRWpCb0MsOEJBQThCLEVBQUE7RW5FaUJsRTtJbUVoQm9DLGlDQUFpQyxFQUFBO0VuRWdCckU7SW1FZm9DLHNDQUFzQyxFQUFBO0VuRWUxRTtJbUVkb0MseUNBQXlDLEVBQUE7RW5FYzdFO0ltRVprQywwQkFBMEIsRUFBQTtFbkVZNUQ7SW1FWGtDLDRCQUE0QixFQUFBO0VuRVc5RDtJbUVWa0Msa0NBQWtDLEVBQUE7RW5FVXBFO0ltRVRrQyx5QkFBeUIsRUFBQTtFbkVTM0Q7SW1FUmtDLHVCQUF1QixFQUFBO0VuRVF6RDtJbUVQa0MsdUJBQXVCLEVBQUE7RW5FT3pEO0ltRU5rQyx5QkFBeUIsRUFBQTtFbkVNM0Q7SW1FTGtDLHlCQUF5QixFQUFBO0VuRUszRDtJbUVId0Msc0NBQXNDLEVBQUE7RW5FRzlFO0ltRUZ3QyxvQ0FBb0MsRUFBQTtFbkVFNUU7SW1FRHdDLGtDQUFrQyxFQUFBO0VuRUMxRTtJbUVBd0MseUNBQXlDLEVBQUE7RW5FQWpGO0ltRUN3Qyx3Q0FBd0MsRUFBQTtFbkVEaEY7SW1FR3FDLGtDQUFrQyxFQUFBO0VuRUh2RTtJbUVJcUMsZ0NBQWdDLEVBQUE7RW5FSnJFO0ltRUtxQyw4QkFBOEIsRUFBQTtFbkVMbkU7SW1FTXFDLGdDQUFnQyxFQUFBO0VuRU5yRTtJbUVPcUMsK0JBQStCLEVBQUE7RW5FUHBFO0ltRVNzQyxvQ0FBb0MsRUFBQTtFbkVUMUU7SW1FVXNDLGtDQUFrQyxFQUFBO0VuRVZ4RTtJbUVXc0MsZ0NBQWdDLEVBQUE7RW5FWHRFO0ltRVlzQyx1Q0FBdUMsRUFBQTtFbkVaN0U7SW1FYXND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MkIsc0JBQTRCLEVBQUE7O0ExRXFCdkQ7RTBFckIyQixzQkFBNEIsRUFBQTs7QTFFcUJ2RDtFMEVyQjJCLHNCQUE0QixFQUFBOztBMUVxQnZEO0UwRXJCMkIsdUJBQTRCLEVBQUE7O0ExRXFCdkQ7RTBFckIyQix1QkFBNEIsRUFBQTs7QTFFcUJ2RDtFMEVqQlUsMEJBQTBCLEVBQUE7O0ExRWlCcEM7RTBFaEJVLDJCQUEyQixFQUFBOztBMUVnQnJDO0UwRVpjLDJCQUEyQixFQUFBOztBMUVZekM7RTBFWGMsNEJBQTRCLEVBQUE7O0ExRVcxQztFMEVUVSx1QkFBdUIsRUFBQTs7QTFFU2pDO0UwRVJVLHdCQUF3QixFQUFBOztBMUVRbEM7RTJFakJ3QyxvQkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsd0JBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsMEJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsMkJBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUseUJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLDBCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSw4QkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSxnQ0FBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSxpQ0FBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSwrQkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MseUJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDZCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLCtCQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLGdDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLDhCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3Qyx1QkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsMkJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsNkJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsOEJBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsNEJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLHlCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSw2QkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSwrQkFBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSxnQ0FBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSw4QkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MsdUJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDJCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLDZCQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLDhCQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLDRCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3QyxxQkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUseUJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsMkJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsNEJBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsMEJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLDJCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSwrQkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSxpQ0FBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSxrQ0FBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSxnQ0FBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MsMEJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDhCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLGdDQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLGlDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLCtCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3Qyx3QkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsNEJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsOEJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsK0JBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsNkJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLDBCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSw4QkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSxnQ0FBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSxpQ0FBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSwrQkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0Msd0JBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDRCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLDhCQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLCtCQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLDZCQUFzQyxFQUFBOztBM0VFaEQ7RTJFTWdDLDJCQUEyQixFQUFBOztBM0VOM0Q7O0UyRVNVLCtCQUErQixFQUFBOztBM0VUekM7O0UyRWFVLGlDQUFpQyxFQUFBOztBM0ViM0M7O0UyRWlCVSxrQ0FBa0MsRUFBQTs7QTNFakI1Qzs7RTJFcUJVLGdDQUFnQyxFQUFBOztBM0VyQjFDO0UyRU1nQywwQkFBMkIsRUFBQTs7QTNFTjNEOztFMkVTVSw4QkFBK0IsRUFBQTs7QTNFVHpDOztFMkVhVSxnQ0FBaUMsRUFBQTs7QTNFYjNDOztFMkVpQlUsaUNBQWtDLEVBQUE7O0EzRWpCNUM7O0UyRXFCVSwrQkFBZ0MsRUFBQTs7QTNFckIxQztFMkVNZ0Msd0JBQTJCLEVBQUE7O0EzRU4zRDs7RTJFU1UsNEJBQStCLEVBQUE7O0EzRVR6Qzs7RTJFYVUsOEJBQWlDLEVBQUE7O0EzRWIzQzs7RTJFaUJVLCtCQUFrQyxFQUFBOztBM0VqQjVDOztFMkVxQlUsNkJBQWdDLEVBQUE7O0EzRXJCMUM7RTJFTWdDLDBCQUEyQixFQUFBOztBM0VOM0Q7O0UyRVNVLDhCQUErQixFQUFBOztBM0VUekM7O0UyRWFVLGdDQUFpQyxFQUFBOztBM0ViM0M7O0UyRWlCVSxpQ0FBa0MsRUFBQTs7QTNFakI1Qzs7RTJFcUJVLCtCQUFnQyxFQUFBOztBM0VyQjFDO0UyRU1nQyx3QkFBMkIsRUFBQTs7QTNFTjNEOztFMkVTVSw0QkFBK0IsRUFBQTs7QTNFVHpDOztFMkVhVSw4QkFBaUMsRUFBQTs7QTNFYjNDOztFMkVpQlUsK0JBQWtDLEVBQUE7O0EzRWpCNUM7O0UyRXFCVSw2QkFBZ0MsRUFBQTs7QTNFckIxQztFMkUyQnVCLHVCQUF1QixFQUFBOztBM0UzQjlDOztFMkU4Qk0sMkJBQTJCLEVBQUE7O0EzRTlCakM7O0UyRWtDTSw2QkFBNkIsRUFBQTs7QTNFbENuQzs7RTJFc0NNLDhCQUE4QixFQUFBOztBM0V0Q3BDOztFMkUwQ00sNEJBQTRCLEVBQUE7O0E5RFQ5QjtFYmpDSjtJMkVqQndDLG9CQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHdCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwyQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLHlCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHFCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHlCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw0QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDBCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDJCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLCtCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsaUNBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxrQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLGdDQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVNZ0MsMkJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSwrQkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGlDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGtDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSxnQ0FBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQywwQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDhCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsZ0NBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsaUNBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLCtCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLHdCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsNEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSw4QkFBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSwrQkFBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsNkJBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0MsMEJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw4QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGdDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGlDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSwrQkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQyx3QkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDRCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsOEJBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsK0JBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLDZCQUFnQyxFQUFBO0UzRXJCMUM7STJFMkJ1Qix1QkFBdUIsRUFBQTtFM0UzQjlDOztJMkU4Qk0sMkJBQTJCLEVBQUE7RTNFOUJqQzs7STJFa0NNLDZCQUE2QixFQUFBO0UzRWxDbkM7O0kyRXNDTSw4QkFBOEIsRUFBQTtFM0V0Q3BDOztJMkUwQ00sNEJBQTRCLEVBQUEsRUFDN0I7O0E5RFZEO0ViakNKO0kyRWpCd0Msb0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsd0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwwQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDJCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUseUJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MscUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUseUJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwyQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDRCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsMEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMkJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsK0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxpQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGtDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsZ0NBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRU1nQywyQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLCtCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsaUNBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsa0NBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLGdDQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLDBCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsOEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxnQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxpQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsK0JBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0Msd0JBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw0QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLDhCQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLCtCQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSw2QkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQywwQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDhCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsZ0NBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsaUNBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLCtCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLHdCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsNEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSw4QkFBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSwrQkFBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsNkJBQWdDLEVBQUE7RTNFckIxQztJMkUyQnVCLHVCQUF1QixFQUFBO0UzRTNCOUM7O0kyRThCTSwyQkFBMkIsRUFBQTtFM0U5QmpDOztJMkVrQ00sNkJBQTZCLEVBQUE7RTNFbENuQzs7STJFc0NNLDhCQUE4QixFQUFBO0UzRXRDcEM7O0kyRTBDTSw0QkFBNEIsRUFBQSxFQUM3Qjs7QTlEVkQ7RWJqQ0o7STJFakJ3QyxvQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSx3QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDBCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsMkJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSx5QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx5QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw2QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLCtCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsZ0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw4QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx1QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwyQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDZCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsOEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw0QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx5QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw2QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLCtCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsZ0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw4QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx1QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwyQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDZCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsOEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw0QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QyxxQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSx5QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDJCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsNEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwwQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywyQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwrQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGlDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsa0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSxnQ0FBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx3QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw0QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDhCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsK0JBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw2QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx3QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw0QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDhCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsK0JBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw2QkFBc0MsRUFBQTtFM0VFaEQ7STJFTWdDLDJCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsK0JBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxpQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxrQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsZ0NBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0MsMEJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw4QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGdDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGlDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSwrQkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQyx3QkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDRCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsOEJBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsK0JBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLDZCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLDBCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsOEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxnQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxpQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsK0JBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0Msd0JBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw0QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLDhCQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLCtCQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSw2QkFBZ0MsRUFBQTtFM0VyQjFDO0kyRTJCdUIsdUJBQXVCLEVBQUE7RTNFM0I5Qzs7STJFOEJNLDJCQUEyQixFQUFBO0UzRTlCakM7O0kyRWtDTSw2QkFBNkIsRUFBQTtFM0VsQ25DOztJMkVzQ00sOEJBQThCLEVBQUE7RTNFdENwQzs7STJFMENNLDRCQUE0QixFQUFBLEVBQzdCOztBOURWRDtFYmpDSjtJMkVqQndDLG9CQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHdCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwyQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLHlCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHFCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHlCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw0QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDBCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDJCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLCtCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsaUNBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxrQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLGdDQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVNZ0MsMkJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSwrQkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGlDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGtDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFC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QUFBOztBL0VnQmxGO0UrRXJCSSx5QkFBd0IsRUFBQTs7QS9FcUI1QjtFK0VoQlEseUJBQTBFLEVBQUE7O0EvRWdCbEY7RStFckJJLHlCQUF3QixFQUFBOztBL0VxQjVCO0UrRWhCUSx5QkFBMEUsRUFBQTs7QS9FZ0JsRjtFK0VyQkkseUJBQXdCLEVBQUE7O0EvRXFCNUI7RStFaEJRLHlCQUEwRSxFQUFBOztBL0VnQmxGO0UrRXJCSSx5QkFBd0IsRUFBQTs7QS9FcUI1QjtFK0VoQlEseUJBQTBFLEVBQUE7O0EvRWdCbEY7RStFckJJLHlCQUF3QixFQUFBOztBL0VxQjVCO0UrRWhCUSx5QkFBMEUsRUFBQTs7QS9FZ0JsRjtFK0VyQkkseUJBQXdCLEVBQUE7O0EvRXFCNUI7RStFaEJRLHlCQUEwRSxFQUFBOztBL0VnQmxGO0U2RXVCYSx5QkFBNkIsRUFBQTs7QTdFdkIxQztFNkV3QmMseUJBQTZCLEVBQUE7O0E3RXhCM0M7RTZFMEJpQixvQ0FBa0MsRUFBQTs7QTdFMUJuRDtFNkUyQmlCLDBDQUFrQyxFQUFBOztBN0UzQm5EO0VnRnhCRSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsU0FBUyxFQUFBOztBaEZvQlg7RTZFbUN3QixnQ0FBZ0MsRUFBQTs7QTdFbkN4RDtFNkVzQ0UsaUNBQWlDO0VBQ2pDLGdDQUFnQyxFQUFBOztBN0V2Q2xDO0U2RTRDYyx5QkFBeUIsRUFBQTs7QTdFNUN2QztFaUZwQkUsOEJBQThCLEVBQUE7O0FqRm9CaEM7RWlGaEJFLDZCQUE2QixFQUFBIiwiZmlsZSI6InRvZ2dsZS1ib290c3RyYXAtZGFyay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XHJcblxyXG5AaW1wb3J0ICdkYXJrLXZhcmlhYmxlcyc7XHJcblxyXG5AaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zLW92ZXJyaWRlcyc7XHJcbkBpbXBvcnQgJ2RhcmstbWl4aW5zJztcclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XHJcbn1cclxuXHJcbmJvZHkuYm9vdHN0cmFwLWRhcmsge1xyXG4gICAgbWFyZ2luOiAwOyAvLyAxXHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXHJcbn1cclxuXHJcbi5ib290c3RyYXAtZGFyayB7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvcm9vdCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcmVib290JztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90eXBlJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9pbWFnZXMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NvZGUnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2dyaWQnO1xyXG5cclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90YWJsZXMnO1xyXG4gICAgQGltcG9ydCAnZGFyay10YWJsZXMnO1xyXG5cclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcyc7XHJcbiAgICBAaW1wb3J0ICdmb3JtLW92ZXJyaWRlcyc7XHJcblxyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2J1dHRvbnMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9kcm9wZG93bic7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwJztcclxuXHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXAnO1xyXG4gICAgQGltcG9ydCAnZGFyay1pbnB1dC1ncm91cCc7XHJcblxyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2N1c3RvbS1mb3Jtcyc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbmF2JztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZiYXInO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NhcmQnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWInO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb24nO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2JhZGdlJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9qdW1ib3Ryb24nO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2FsZXJ0JztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wcm9ncmVzcyc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWVkaWEnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2xpc3QtZ3JvdXAnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Nsb3NlJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90b2FzdHMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21vZGFsJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90b29sdGlwJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wb3BvdmVyJztcclxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJvdXNlbCc7XHJcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvc3Bpbm5lcnMnO1xyXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcyc7XHJcblxyXG4gICAgQGltcG9ydCAndGhlbWVkLXV0aWxpdGllcy1kYXJrJztcclxuXHJcbiAgICBAaW1wb3J0ICdkYXJrLXN0eWxlcyc7XHJcbn1cclxuIiwiJGZvcmV2b2x2ZS1ncmVlbjogIzAwN2YwMDtcclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlXHJcbiR3aGl0ZTogICAgI2ZmZjtcclxuJGdyYXktMTAwOiAjZjhmOWZhO1xyXG4kZ3JheS0yMDA6ICNlOWVjZWY7XHJcbiRncmF5LTMwMDogI2RlZTJlNjtcclxuJGdyYXktNDAwOiAjY2VkNGRhO1xyXG4kZ3JheS01MDA6ICNhZGI1YmQ7XHJcbiRncmF5LTYwMDogIzZjNzU3ZDtcclxuJGdyYXktNzAwOiAjNDk1MDU3O1xyXG4kZ3JheS04MDA6ICMzNDNhNDA7XHJcbiRncmF5LTkwMDogIzIxMjUyOTtcclxuJGJsYWNrOiAgICAjMDAwO1xyXG5cclxuJGNvbG9yLWRhcmtlci1wZXJjZW50LWZ1bGw6IDIwJTtcclxuJGNvbG9yLWRhcmtlci1wZXJjZW50LWhhbGY6ICRjb2xvci1kYXJrZXItcGVyY2VudC1mdWxsIC8gMjtcclxuJGNvbG9yLWRhcmtlci1wZXJjZW50LXF1YXJ0ZXI6ICRjb2xvci1kYXJrZXItcGVyY2VudC1oYWxmIC8gMjtcclxuJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmU6IDA7XHJcblxyXG4kYmx1ZTogICAgbGlnaHRlbigjMDA3YmZmLCAkY29sb3ItZGFya2VyLXBlcmNlbnQtaGFsZik7XHJcbiRpbmRpZ286ICBkYXJrZW4oIzY2MTBmMiwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG4kcHVycGxlOiAgZGFya2VuKCM2ZjQyYzEsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuJHBpbms6ICAgIGRhcmtlbigjZTgzZThjLCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XHJcbiRyZWQ6ICAgICBkYXJrZW4oI2RjMzU0NSwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG4kb3JhbmdlOiAgZGFya2VuKCNmZDdlMTQsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuJHllbGxvdzogIGxpZ2h0ZW4oI2ZmYzEwNywgJGNvbG9yLWRhcmtlci1wZXJjZW50LWhhbGYpO1xyXG4kZ3JlZW46ICAgZGFya2VuKCMyOGE3NDUsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuJHRlYWw6ICAgIGRhcmtlbigjMjBjOTk3LCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XHJcbiRjeWFuOiAgICBsaWdodGVuKCMxN2EyYjgsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuXHJcbiRjb2xvcnM6IG1hcC1tZXJnZShcclxuICAkY29sb3JzLFxyXG4gIChcclxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcclxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcclxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxyXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxyXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcclxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXHJcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXHJcbiAgKVxyXG4pO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICRibHVlO1xyXG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwO1xyXG4kc3VjY2VzczogICAgICAgJGdyZWVuO1xyXG4kaW5mbzogICAgICAgICAgJGN5YW47XHJcbiR3YXJuaW5nOiAgICAgICAkb3JhbmdlO1xyXG4kZGFuZ2VyOiAgICAgICAgJHJlZDtcclxuJGxpZ2h0OiAgICAgICAgICRncmF5LTMwMDtcclxuJGRhcms6ICAgICAgICAgICRncmF5LTgwMDtcclxuXHJcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcclxuICAkdGhlbWUtY29sb3JzLFxyXG4gIChcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxyXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXHJcbiAgKVxyXG4pO1xyXG5cclxuLy8kYm9keS1iZzogICAgICAgJGdyYXktOTAwOyAvLyMxRTFFMUU7XHJcbiRib2R5LWJnOiAgICAgIzE5MWQyMTtcclxuJGJvZHktY29sb3I6ICAjZDNkM2QzOyAvLyRncmF5LTIwMDsgLy8jRDRENEQ0O1xyXG5cclxuJHlpcS10ZXh0LWRhcms6ICRncmF5LTgwMDtcclxuJHlpcS10ZXh0LWxpZ2h0OiAkZ3JheS0yMDA7XHJcblxyXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgZGFya2VuKCRib2R5LWNvbG9yLCAxNSUpO1xyXG4vLyAkbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZTtcclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcclxuLy8kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgdW5kZXJsaW5lO1xyXG5cclxuXHJcbi8vIFV0aWxpdGllcyAoYm9yZGVycylcclxuJGJvcmRlci1jb2xvcjogJGRhcms7XHJcblxyXG4vLyBDYXJkc1xyXG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4xMjUpO1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4wMyk7XHJcbi8vICRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XHJcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS05MDA7IC8vJGJvZHktYmcgP1xyXG5cclxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4xMjUpO1xyXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS03MDAgJGdyYXktNzAwICRuYXYtdGFicy1ib3JkZXItY29sb3I7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTEwMDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmc7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTcwMCAkZ3JheS03MDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xyXG5cclxuXHJcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICRibGFjaztcclxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnk7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICByZ2JhKCRib2R5LWJnLCAuMDUpO1xyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjEyNSk7XHJcblxyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS05MDA7XHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xyXG5cclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNDAwO1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZztcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTMwMDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3I7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTgwMDtcclxuXHJcbi8vIEZvcm1zXHJcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS04MDA7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMzAwO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwO1xyXG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJHdoaXRlLCAuMDc1KTtcclxuXHJcbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZztcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSk7XHJcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XHJcblxyXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwO1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNDAwO1xyXG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTgwMDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktMjAwO1xyXG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkd2hpdGUsIC4wNzUpO1xyXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG5cclxuLy8gTW9kYWxzXHJcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgJGJvZHktYmc7XHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgcmdiYSgkd2hpdGUsIC4yKTtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS04MDA7XHJcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XHJcblxyXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcclxuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAwIDFweCAwICRibGFjaztcclxuXHJcbi8vIC8vIFRhYmxlc1xyXG4vLyAkdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8gJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSk7XHJcbi8vICR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KTtcclxuLy8gJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnO1xyXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvcjtcclxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yO1xyXG5cclxuLy8gJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwO1xyXG4vLyAkdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDA7XHJcblxyXG4vLyAkdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAgICRncmF5LTkwMDtcclxuLy8gJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KTtcclxuLy8gJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSk7XHJcbi8vICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpO1xyXG4vLyAkdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAgICRib2R5LWJnO1xyXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDA7XHJcblxyXG4vLyAkdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZDtcclxuXHJcblxyXG4vLyBKdW1ib3Ryb25cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktODAwO1xyXG5cclxuLy8gSFJcclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4xKTtcclxuXHJcblxyXG4vLyBUb2FzdHNcclxuLy8kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xyXG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCRibGFjaywgLjg1KTtcclxuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XHJcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCR3aGl0ZSwgLjEpO1xyXG5cclxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNDAwO1xyXG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCRibGFjaywgLjg1KTtcclxuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcbi8vXHJcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpO1xyXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS04MDA7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCR3aGl0ZSwgLjE3NSk7XHJcblxyXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0xMDA7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGxpZ2h0ZW4oJGdyYXktMTAwLCA1JSk7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTkwMDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcclxuXHJcbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTQwMDtcclxuXHJcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTQwMDtcclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTgwMDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNDAwO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS00MDA7XHJcblxyXG4vLyBQYWdpbmF0aW9uXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTcwMDtcclxuXHJcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdztcclxuXHJcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS04MDA7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTcwMDtcclxuXHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcclxuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xyXG5cclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNDAwO1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTcwMDtcclxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgKiAuMDAxO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBUYWJsZXNcclxuXHJcbkBtaXhpbiBkYXJrLXRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcclxuICAgIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XHJcbiAgICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XHJcbiAgICAgICAgJixcclxuICAgICAgICA+IHRoLFxyXG4gICAgICAgID4gdGQge1xyXG4gICAgICAgICAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxyXG4gICAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXHJcbiAgICAudGFibGUtaG92ZXIge1xyXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcclxuXHJcbiAgICAgICAgLnRhYmxlLSN7JHN0YXRlfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gdGQsXHJcbiAgICAgICAgICAgICAgICA+IHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBUYWJsZSBiYWNrZ3JvdW5kc1xyXG4vL1xyXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgICBAaW5jbHVkZSBkYXJrLXRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSkpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBkYXJrLXRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XHJcblxyXG4udGFibGUtZGFyayB7XHJcbiAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMTU1N1xuICAgIC8vIEFsaWduIHRvb2x0aXAgdG8gZm9ybSBlbGVtZW50c1xuICAgIC5mb3JtLXJvdyA+IC5jb2wgPiAmLFxuICAgIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdID4gJiB7XG4gICAgICBsZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1wYWRkaW5nLXggKiA0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1wYWRkaW5nLXggKiAyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkY3VzdG9tLXNlbGVjdC1iZyBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIud2FzLXZhbGlkYXRlZCB7XHJcbiAgICBAZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcclxuICAgICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcclxuXHJcbiAgICAgICAgLmlzLSN7JHN0YXRlfSB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICAgLmlzLSN7JHN0YXRlfSB+IC4jeyRzdGF0ZX0tdG9vbHRpcCxcclxuICAgICAgICA6I3skc3RhdGV9IH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgICA6I3skc3RhdGV9IH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYud2lkdGgge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gLmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi5pbnB1dC1ncm91cCB7XHJcbiAgICAmID4gLmlucHV0LWdyb3VwLWFwcGVuZCB7XHJcbiAgICAgICAgJiA+IC5jdXN0b20tc2VsZWN0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XHJcbiAgICAgICAgJiA+IC5jdXN0b20tc2VsZWN0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAqIC41KTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoICogLjU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiJdfQ== */
